Commit ea94a2c0 authored by Knut's avatar Knut

Merge branch 'rigid_lid' into les

parents c79499b7 61cae53c
Pipeline #137 failed with stages
......@@ -388,16 +388,18 @@
select case (bdy_2d_type(l))
case (ZERO_GRADIENT,CLAMPED_VEL,FLATHER_VEL)
do j = wfj(n),wlj(n)
z(i,j) = z(i+1,j)
if ( az(i+1,j) .ne. 0 ) z(i,j) = z(i+1,j)
end do
case (SOMMERFELD)
do j = wfj(n),wlj(n)
if ( az(i+1,j) .ne. 0 ) then
cfl = sqrt(g*_HALF_*(D(i,j)+D(i+1,j)))*dtm/DXU
z(i,j) = ( &
(_ONE_ - _TWO_*cfl*(_ONE_-theta))*z (i ,j) &
+(_ONE_ + _TWO_*cfl*(_ONE_-theta))*zo(i+1,j) &
-(_ONE_ - _TWO_*cfl*theta )*z (i+1,j) &
)/(_ONE_ + _TWO_*cfl*theta )
end if
end do
case (CLAMPED_ELEV,CLAMPED)
do j = wfj(n),wlj(n)
......@@ -407,13 +409,16 @@
end do
case (FLATHER_ELEV)
do j = wfj(n),wlj(n)
if ( az(i+1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i+1,j))
! Note (KK): note approximation of sse at vel-time stage
a = ramp*bdy_data(kl) &
- _TWO_/sqrt(g*depth)*(U(i,j)-ramp*bdy_data_u(kl)*depth)
z(i,j) = max(a,-H(i,j)+min_depth)
a = _TWO_/sqrt(g*depth)*(U(i,j)-ramp*bdy_data_u(kl)*depth)
else
a = _ZERO_
end if
z(i,j) = max(ramp*bdy_data(kl)-a,-H(i,j)+min_depth)
k = k+1
kl = kl + 1
end do
......@@ -427,16 +432,18 @@
select case (bdy_2d_type(l))
case (ZERO_GRADIENT,CLAMPED_VEL,FLATHER_VEL)
do i = nfi(n),nli(n)
z(i,j) = z(i,j-1)
if ( az(i,j-1) .ne. 0 ) z(i,j) = z(i,j-1)
end do
case (SOMMERFELD)
do i = nfi(n),nli(n)
if ( az(i,j-1) .ne. 0 ) then
cfl = sqrt(g*_HALF_*(D(i,j-1)+D(i,j)))*dtm/DYVJM1
z(i,j) = ( &
(_ONE_ - _TWO_*cfl*(_ONE_-theta))*z (i,j ) &
+(_ONE_ + _TWO_*cfl*(_ONE_-theta))*zo(i,j-1) &
-(_ONE_ - _TWO_*cfl*theta )*z (i,j-1) &
)/(_ONE_ + _TWO_*cfl*theta )
end if
end do
case (CLAMPED_ELEV,CLAMPED)
do i = nfi(n),nli(n)
......@@ -446,13 +453,16 @@
end do
case (FLATHER_ELEV)
do i = nfi(n),nli(n)
if ( az(i,j-1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j-1)+D(i,j))
! Note (KK): note approximation of sse at vel-time stage
a = ramp*bdy_data(kl) &
+ _TWO_/sqrt(g*depth)*(V(i,j-1)-ramp*bdy_data_v(kl)*depth)
z(i,j) = max(a,-H(i,j)+min_depth)
a = _TWO_/sqrt(g*depth)*(V(i,j-1)-ramp*bdy_data_v(kl)*depth)
else
a = _ZERO_
end if
z(i,j) = max(ramp*bdy_data(kl)+a,-H(i,j)+min_depth)
k = k+1
kl = kl + 1
end do
......@@ -466,16 +476,18 @@
select case (bdy_2d_type(l))
case (ZERO_GRADIENT,CLAMPED_VEL,FLATHER_VEL)
do j = efj(n),elj(n)
z(i,j) = z(i-1,j)
if ( az(i-1,j) .ne. 0 ) z(i,j) = z(i-1,j)
end do
case (SOMMERFELD)
do j = efj(n),elj(n)
if ( az(i-1,j) .ne. 0 ) then
cfl = sqrt(g*_HALF_*(D(i-1,j)+D(i,j)))*dtm/DXUIM1
z(i,j) = ( &
(_ONE_ - _TWO_*cfl*(_ONE_-theta))*z (i ,j) &
+(_ONE_ + _TWO_*cfl*(_ONE_-theta))*zo(i-1,j) &
-(_ONE_ - _TWO_*cfl*theta )*z (i-1,j) &
)/(_ONE_ + _TWO_*cfl*theta )
end if
end do
case (CLAMPED_ELEV,CLAMPED)
do j = efj(n),elj(n)
......@@ -485,13 +497,16 @@
end do
case (FLATHER_ELEV)
do j = efj(n),elj(n)
if ( az(i-1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i-1,j)+D(i,j))
! Note (KK): note approximation of sse at vel-time stage
a = ramp*bdy_data(kl) &
+ _TWO_/sqrt(g*depth)*(U(i-1,j)-ramp*bdy_data_u(kl)*depth)
z(i,j) = max(a,-H(i,j)+min_depth)
a = _TWO_/sqrt(g*depth)*(U(i-1,j)-ramp*bdy_data_u(kl)*depth)
else
a = _ZERO_
end if
z(i,j) = max(ramp*bdy_data(kl)+a,-H(i,j)+min_depth)
k = k+1
kl = kl + 1
end do
......@@ -505,16 +520,18 @@
select case (bdy_2d_type(l))
case (ZERO_GRADIENT,CLAMPED_VEL,FLATHER_VEL)
do i = sfi(n),sli(n)
z(i,j) = z(i,j+1)
if ( az(i,j+1) .ne. 0 ) z(i,j) = z(i,j+1)
end do
case (SOMMERFELD)
do i = sfi(n),sli(n)
if ( az(i,j+1) .ne. 0 ) then
cfl = sqrt(g*_HALF_*(D(i,j)+D(i,j+1)))*dtm/DYV
z(i,j) = ( &
(_ONE_ - _TWO_*cfl*(_ONE_-theta))*z (i,j ) &
+(_ONE_ + _TWO_*cfl*(_ONE_-theta))*zo(i,j+1) &
-(_ONE_ - _TWO_*cfl*theta )*z (i,j+1) &
)/(_ONE_ + _TWO_*cfl*theta )
end if
end do
case (CLAMPED_ELEV,CLAMPED)
do i = sfi(n),sli(n)
......@@ -524,13 +541,16 @@
end do
case (FLATHER_ELEV)
do i = sfi(n),sli(n)
if ( az(i,j+1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i,j+1))
! Note (KK): note approximation of sse at vel-time stage
a = ramp*bdy_data(kl) &
- _TWO_/sqrt(g*depth)*(V(i,j)-ramp*bdy_data_v(kl)*depth)
z(i,j) = max(a,-H(i,j)+min_depth)
a = _TWO_/sqrt(g*depth)*(V(i,j)-ramp*bdy_data_v(kl)*depth)
else
a = _ZERO_
end if
z(i,j) = max(ramp*bdy_data(kl)-a,-H(i,j)+min_depth)
k = k+1
kl = kl + 1
end do
......@@ -625,21 +645,25 @@
select case (bdy_2d_type(l))
case (FLATHER_VEL)
do j = wfj(n),wlj(n)
if ( az(i+1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i+1,j))
! Note (KK): note approximation of sse at vel-time stage
U(i,j) = ramp*bdy_data_u(kl)*depth &
- _HALF_*sqrt(g*depth)*(z(i,j)-ramp*bdy_data(kl))
end if
k = k+1
kl = kl + 1
end do
case (CLAMPED_VEL,CLAMPED)
do j = wfj(n),wlj(n)
if ( az(i+1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i+1,j))
U(i,j) = ramp*bdy_data_u(kl)*depth
end if
k = k+1
kl = kl + 1
end do
......@@ -654,21 +678,25 @@
select case (bdy_2d_type(l))
case (FLATHER_VEL)
do j = efj(n),elj(n)
if ( az(i-1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i-1,j)+D(i,j))
! Note (KK): note approximation of sse at vel-time stage
U(i-1,j) = ramp*bdy_data_u(kl)*depth &
+ _HALF_*sqrt(g*depth)*(z(i,j)-ramp*bdy_data(kl))
end if
k = k+1
kl = kl + 1
end do
case (CLAMPED_VEL,CLAMPED)
do j = efj(n),elj(n)
if ( az(i-1,j) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i-1,j)+D(i,j))
U(i-1,j) = ramp*bdy_data_u(kl)*depth
end if
k = k+1
kl = kl + 1
end do
......@@ -686,21 +714,25 @@
select case (bdy_2d_type(l))
case (FLATHER_VEL)
do i = nfi(n),nli(n)
if ( az(i,j-1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j-1)+D(i,j))
! Note (KK): note approximation of sse at vel-time stage
V(i,j-1) = ramp*bdy_data_v(kl)*depth &
+ _HALF_*sqrt(g*depth)*(z(i,j)-ramp*bdy_data(kl))
end if
k = k+1
kl = kl + 1
end do
case (CLAMPED_VEL,CLAMPED)
do i = nfi(n),nli(n)
if ( az(i,j-1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j-1)+D(i,j))
V(i,j-1) = ramp*bdy_data_v(kl)*depth
end if
k = k+1
kl = kl + 1
end do
......@@ -715,21 +747,25 @@
select case (bdy_2d_type(l))
case (FLATHER_VEL)
do i = sfi(n),sli(n)
if ( az(i,j+1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i,j+1))
! Note (KK): note approximation of sse at vel-time stage
V(i,j) = ramp*bdy_data_v(kl)*depth &
- _HALF_*sqrt(g*depth)*(z(i,j)-ramp*bdy_data(kl))
end if
k = k+1
kl = kl + 1
end do
case (CLAMPED_VEL,CLAMPED)
do i = sfi(n),sli(n)
if ( az(i,j+1) .ne. 0 ) then
! Note (KK): approximate interface depths at vel-time stage
! by spatial mean at last sse-time stage
depth = _HALF_*(D(i,j)+D(i,j+1))
V(i,j) = ramp*bdy_data_v(kl)*depth
end if
k = k+1
kl = kl + 1
end do
......
......@@ -180,7 +180,6 @@
integer :: i,j
integer :: elev_method=1
REALTYPE :: elev_const=_ZERO_
integer,parameter :: rk = kind(_ONE_)
character(LEN = PATH_MAX) :: elev_file='elev.nc'
namelist /m2d/ &
elev_method,elev_const,elev_file, &
......@@ -449,8 +448,8 @@
! This is only needed for proper flexible output
where (az .eq. 0)
z = -9999.0d0
zo = -9999.0d0
z = -9999._rk
zo = -9999._rk
end where
call depth_update(zo,z,D,Dvel,DU,DV)
......
......@@ -22,6 +22,7 @@
IMPLICIT NONE
!
! !PUBLIC DATA MEMBERS:
integer, parameter :: rk = kind(_ONE_)
REALTYPE :: dtm
REALTYPE,dimension(:,:),pointer :: zo,z
logical :: deformC=.false.
......@@ -115,7 +116,6 @@
!
! !LOCAL VARIABLES:
integer :: rc
integer,parameter :: rk = kind(_ONE_)
!EOP
!-------------------------------------------------------------------------
!BOC
......@@ -140,7 +140,7 @@
break_stat = 0
#endif
z = -9999*_ONE_; zo =_ZERO_
z = -9999._rk ; zo =_ZERO_
U = _ZERO_; DU = _ZERO_; Uint = _ZERO_; UEx = _ZERO_
V = _ZERO_; DV = _ZERO_; Vint = _ZERO_; VEx = _ZERO_
......@@ -291,7 +291,6 @@
!
! !LOCAL VARIABLES:
logical :: used
integer,parameter :: rk = kind(_ONE_)
!EOP
!-----------------------------------------------------------------------
!BOC
......
......@@ -402,8 +402,8 @@
num(i,j,:) = 1.e-15
nuh(i,j,:) = 1.e-15
#ifndef NO_BAROCLINIC
S(i,j,:) = -9999.0
T(i,j,:) = -9999.0
S(i,j,:) = -9999._rk
T(i,j,:) = -9999._rk
#endif
end if
end do
......
......@@ -19,7 +19,7 @@
use domain, only: imin,jmin,imax,jmax,kmax,H,az,dry_z
!KB use get_field, only: get_3d_field
use variables_2d, only: fwf_int
use variables_3d, only: S,hn,kmin
use variables_3d, only: rk,S,hn,kmin
use meteo, only: metforcing,met_method,nudge_sss,sss
use meteo, only: METEO_CONST,METEO_FROMFILE,METEO_FROMEXT
use halo_zones, only: update_3d_halo,wait_halo,D_TAG,H_TAG
......@@ -281,8 +281,8 @@
stop 'init_salinity'
end select
S(:,:,0) = -9999*_ONE_
forall(i=imin:imax,j=jmin:jmax, az(i,j).eq.0) S(i,j,:) = -9999*_ONE_
S(:,:,0) = -9999._rk
forall(i=imin:imax,j=jmin:jmax, az(i,j).eq.0) S(i,j,:) = -9999._rk
call update_3d_halo(S,S,az,imin,jmin,imax,jmax,kmax,D_TAG)
call wait_halo(D_TAG)
......
......@@ -20,7 +20,7 @@
use domain, only: imin,jmin,imax,kmax,jmax,H,az,dry_z
use domain, only: ill,ihl,jll,jhl
use domain, only: ilg,ihg,jlg,jhg
use variables_3d, only: T,rad,hn,kmin,A,g1,g2,heatflux_net
use variables_3d, only: rk,T,rad,hn,kmin,A,g1,g2,heatflux_net
use meteo, only: metforcing,met_method,nudge_sst,sst
use meteo, only: METEO_CONST,METEO_FROMFILE,METEO_FROMEXT
!KB use get_field, only: get_3d_field
......@@ -359,8 +359,8 @@ end interface
stop 'init_temperature'
end select
T(:,:,0) = -9999*_ONE_
forall(i=imin:imax,j=jmin:jmax, az(i,j).eq.0) T(i,j,:) = -9999*_ONE_
T(:,:,0) = -9999._rk
forall(i=imin:imax,j=jmin:jmax, az(i,j).eq.0) T(i,j,:) = -9999._rk
call update_3d_halo(T,T,az,imin,jmin,imax,jmax,kmax,D_TAG)
call wait_halo(D_TAG)
......
......@@ -115,6 +115,7 @@
IMPLICIT NONE
!
! !PUBLIC DATA MEMBERS:
integer, parameter :: rk = kind(_ONE_)
REALTYPE :: dt,cnpar=0.9
REALTYPE :: avmback=_ZERO_,avhback=_ZERO_
logical :: do_numerical_analyses_3d=.false.
......@@ -191,7 +192,6 @@
!
! !LOCAL VARIABLES:
integer :: rc
integer,parameter :: rk = kind(_ONE_)
!EOP
!-------------------------------------------------------------------------
!BOC
......@@ -252,8 +252,8 @@
#endif
! must be nonzero for gotm_fabm in case of calc_temp=F
g1 = -9999*_ONE_
g2 = -9999*_ONE_
g1 = -9999._rk
g2 = -9999._rk
#ifdef DEBUG
write(debug,*) 'Leaving init_variables_3d()'
......@@ -446,7 +446,7 @@
! Original author(s): Karsten Bolding & Jorn Bruggeman
!
! !LOCAL VARIABLES:
integer,parameter :: rk = kind(_ONE_)
!
!EOP
!-----------------------------------------------------------------------
!BOC
......
......@@ -171,9 +171,9 @@ stop
! calculate the z-coordinate of the cell centers
! references to mean sea level
zc(:,:,0)=-H(:,:)
zc(:,:,1)=-H(:,:) + 0.5*hn(:,:,1)
zc(:,:,1)=-H(:,:) + _HALF_*hn(:,:,1)
do k=2,kmax
zc(:,:,k)=zc(:,:,k-1)+0.5*(hn(:,:,k-1)+hn(:,:,k))
zc(:,:,k)=zc(:,:,k-1)+_HALF_*(hn(:,:,k-1)+hn(:,:,k))
end do
#ifdef SLICE_MODEL
......
......@@ -376,6 +376,8 @@
end if
end if
call finalize_register_all_variables(runtype)
if (.not. dryrun) then
if (save_initial) then
call output_manager_prepare_save(julianday, int(secondsofday), 0, int(MinN-1))
......
......@@ -11,6 +11,12 @@
!
! !USES:
use field_manager
use variables_2d, only: register_2d_variables
use variables_3d, only: register_3d_variables
#ifdef _FABM_
use getm_fabm, only: register_fabm_variables
#endif
use output_processing, only: register_processed_variables, finalize_register_processed_variables
IMPLICIT NONE
!
! default: all is private.
......@@ -227,6 +233,7 @@
#ifdef _FABM_
call finalize_register_fabm_variables(fm)
#endif
call finalize_register_processed_variables(fm)
return
end subroutine finalize_register_all_variables
......
......@@ -148,14 +148,8 @@
"dimensions do not match")
end if
il = ilg ; jl = jlg ; ih = ihg ; jh = jhg
else
il = 1 ; jl = 1 ; ih = iextr ; jh = jextr
end if
start(1) = il; start(2) = jl;
edges(1) = ih-il+1; edges(2) = jh-jl+1;
edges(3) = 1
allocate(beta(E2DFIELD),stat=err)
if (err /= 0) &
stop 'init_meteo_input_ncdf: Error allocating memory (beta)'
......@@ -174,6 +168,7 @@
call to_rotated_lat_lon(southpole,olon,olat,rlon,rlat,x)
beta = x
end if
il = 1 ; jl = 1 ; ih = iextr ; jh = jextr
else
if (met_lat(1) .gt. met_lat(2)) then
LEVEL3 'Reverting lat-axis and setting grid_scan to 0'
......@@ -228,8 +223,21 @@
call getm_error("init_meteo_input_ncdf()", &
"Some interpolation coefficients are not valid")
end if
il = minval(gridmap(:,:,1),mask=(gridmap(:,:,1).gt.0))
jl = minval(gridmap(:,:,2),mask=(gridmap(:,:,2).gt.0))
ih = min( maxval(gridmap(:,:,1))+1 , iextr )
jh = min( maxval(gridmap(:,:,2))+1 , jextr )
where( gridmap(:,:,1).gt.0 ) gridmap(:,:,1) = gridmap(:,:,1) - il + 1
where( gridmap(:,:,2).gt.0 ) gridmap(:,:,2) = gridmap(:,:,2) - jl + 1
end if
start(1) = il; start(2) = jl;
edges(1) = ih-il+1; edges(2) = jh-jl+1;
edges(3) = 1
allocate(d_airp(E2DFIELD),stat=rc)
if (rc /= 0) stop 'init_meteo_input_ncdf: Error allocating memory (d_airp)'
d_airp = -9999*_ONE_
......@@ -846,7 +854,7 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
!
! !LOCAL VARIABLES:
integer :: i,j,err
REALTYPE,dimension(edges(1),edges(2)) :: wrk,wrk_dp
REALTYPE,dimension(edges(1),edges(2)) :: wrk!,wrk_dp
REALTYPE :: angle,uu,vv,sinconv,cosconv
!EOP
!-----------------------------------------------------------------------
......@@ -866,8 +874,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,airp_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,airp_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,airp_input)
end if
end if
......@@ -881,8 +891,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
evap_input(ill:ihl,jll:jhl) = wrk
end if
else
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,evap_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,evap_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,evap_input)
end if
if (evap_factor .ne. _ONE_) then
evap_input = evap_input * evap_factor
......@@ -899,8 +911,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
precip_input(ill:ihl,jll:jhl) = wrk
end if
else
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,precip_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,precip_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,precip_input)
end if
if (precip_factor .ne. _ONE_) then
precip_input = precip_input * precip_factor
......@@ -920,8 +934,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,u10_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,u10_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,u10_input)
end if
end if
......@@ -936,8 +952,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,v10_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,v10_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,v10_input)
end if
end if
......@@ -976,8 +994,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,t2_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,t2_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,t2_input)
end if
end if
......@@ -992,8 +1012,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,hum_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,hum_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,hum_input)
end if
end if
......@@ -1008,8 +1030,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
end if
else
!KBKwrk_dp = _ZERO_
call copy_var(grid_scan,wrk,wrk_dp)
call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,tcc_input)
!call copy_var(grid_scan,wrk,wrk_dp)
!call do_grid_interpol(az,wrk_dp,gridmap,ti,ui,tcc_input)
call flip_var(wrk)
call do_grid_interpol(az,wrk,gridmap,ti,ui,tcc_input)
end if
end if
......@@ -1064,8 +1088,10 @@ STDERR 'grid_north_pole_longitude ',southpole(2)
sst_input(ill:ihl,jll:jhl) = wrk
end if
else if (calc_met) then