Commit b68fa145 authored by Knut's avatar Knut

Merge branch 'use_gotm' into nonnegsalt

parents 644c18ef ed9e3588
Pipeline #150 failed with stages
......@@ -390,16 +390,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)
......@@ -409,13 +411,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
......@@ -429,16 +434,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)
......@@ -448,13 +455,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
......@@ -468,16 +478,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)
......@@ -487,13 +499,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
......@@ -507,16 +522,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)
......@@ -526,13 +543,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
......@@ -627,6 +647,7 @@
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))
......@@ -636,11 +657,13 @@
if ( waveforcing_method .ne. NO_WAVES ) then
UEuler(i,j) = U(i,j) - UStokes(i,j)
end if
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))
......@@ -648,6 +671,7 @@
if ( waveforcing_method .ne. NO_WAVES ) then
UEuler(i,j) = U(i,j) - UStokes(i,j)
end if
end if
k = k+1
kl = kl + 1
end do
......@@ -662,6 +686,7 @@
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))
......@@ -671,11 +696,13 @@
if ( waveforcing_method .ne. NO_WAVES ) then
UEuler(i-1,j) = U(i-1,j) - UStokes(i-1,j)
end if
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))
......@@ -683,6 +710,7 @@
if ( waveforcing_method .ne. NO_WAVES ) then
UEuler(i-1,j) = U(i-1,j) - UStokes(i-1,j)
end if
end if
k = k+1
kl = kl + 1
end do
......@@ -700,6 +728,7 @@
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))
......@@ -709,11 +738,13 @@
if ( waveforcing_method .ne. NO_WAVES ) then
VEuler(i,j-1) = V(i,j-1) - VStokes(i,j-1)
end if
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))
......@@ -721,6 +752,7 @@
if ( waveforcing_method .ne. NO_WAVES ) then
VEuler(i,j-1) = V(i,j-1) - VStokes(i,j-1)
end if
end if
k = k+1
kl = kl + 1
end do
......@@ -735,6 +767,7 @@
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))
......@@ -744,11 +777,13 @@
if ( waveforcing_method .ne. NO_WAVES ) then
VEuler(i,j) = V(i,j) - VStokes(i,j)
end if
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))
......@@ -756,6 +791,7 @@
if ( waveforcing_method .ne. NO_WAVES ) then
VEuler(i,j) = V(i,j) - VStokes(i,j)
end if
end if
k = k+1
kl = kl + 1
end do
......
......@@ -167,7 +167,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, &
......@@ -434,8 +433,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
return
......
......@@ -23,6 +23,7 @@
IMPLICIT NONE
!
! !PUBLIC DATA MEMBERS:
integer, parameter :: rk = kind(_ONE_)
REALTYPE :: dtm
REALTYPE,dimension(:,:),pointer :: zo,z
logical :: deformC=.false.
......@@ -121,7 +122,6 @@
!
! !LOCAL VARIABLES:
integer :: rc
integer,parameter :: rk = kind(_ONE_)
!EOP
!-------------------------------------------------------------------------
!BOC
......@@ -174,12 +174,12 @@
end if
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_
velx = -9999.0 ; vely = -9999.0
velx = -9999._rk ; vely = -9999._rk
where (az .gt. 0)
velx = _ZERO_ ; vely = _ZERO_
end where
......@@ -336,7 +336,6 @@
!
! !LOCAL VARIABLES:
logical :: used
integer,parameter :: rk = kind(_ONE_)
!EOP
!-----------------------------------------------------------------------
!BOC
......
......@@ -442,8 +442,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
......@@ -305,8 +305,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
......@@ -375,8 +375,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)
......
......@@ -117,6 +117,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.
......@@ -213,7 +214,6 @@
!
! !LOCAL VARIABLES:
integer :: i,j, rc
integer,parameter :: rk = kind(_ONE_)
!EOP
!-------------------------------------------------------------------------
!BOC
......@@ -315,8 +315,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 STRUCTURE_FRICTION
sf = _ZERO_
......@@ -513,7 +513,7 @@
! Original author(s): Karsten Bolding & Jorn Bruggeman
!
! !LOCAL VARIABLES:
integer,parameter :: rk = kind(_ONE_)
!
!EOP
!-----------------------------------------------------------------------
!BOC
......
......@@ -183,9 +183,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
......
#include "cppdefs.h"
!#define ALLEXPORT
#define _GETM_NUOPC_
!-----------------------------------------------------------------------
!BOP
!
......@@ -97,6 +97,16 @@
"wind_x_velocity_at_10m"
character(len=*),parameter :: name_windV = &
"wind_y_velocity_at_10m"
character(len=*),parameter :: name_airT2 = &
"air_temperature_at_2m"
character(len=*),parameter :: name_humr = &
"relative_humidity"
character(len=*),parameter :: name_hums = &
"specific_humidity"
character(len=*),parameter :: name_dev2 = &
"dew_point_temperature"
character(len=*),parameter :: name_tcc = &
"total_cloud_cover"
!
! !REVISION HISTORY:
! Original author(s): Knut Klingbeil
......@@ -461,26 +471,28 @@
InitializePhaseMap(1) = "IPDv00p1=1"
InitializePhaseMap(2) = "IPDv00p2=2"
! Note (KK): NUOPC attributes are purpose="Instance"
#if 1
#ifdef _GETM_NUOPC_
call NUOPC_CompAttributeAdd(getmComp,(/"InitializePhaseMap"/),rc=rc)
#else
call ESMF_AttributeAdd(getmComp,convention="NUOPC",purpose="General", &
attrList=(/"InitializePhaseMap"/),rc=rc)
#endif
abort = ESMF_LogFoundError(rc,line=__LINE__,file=FILENAME)
if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
#if 1
call NUOPC_CompAttributeSet(getmComp,"InitializePhaseMap", &
InitializePhaseMap,rc=rc)
abort = ESMF_LogFoundError(rc,line=__LINE__,file=FILENAME)
if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
#else
! Note (KK): NUOPC attributes are purpose="Instance"
call ESMF_AttributeAdd(getmComp,convention="NUOPC",purpose="General", &
attrList=(/"InitializePhaseMap"/),rc=rc)
abort = ESMF_LogFoundError(rc,line=__LINE__,file=FILENAME)
if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
call ESMF_AttributeSet(getmComp,name="InitializePhaseMap", &
valueList=InitializePhaseMap, &
convention="NUOPC",purpose="General",rc=rc)
#endif
abort = ESMF_LogFoundError(rc,line=__LINE__,file=FILENAME)
if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
#endif
call toc(TIM_ESMF)
......@@ -531,7 +543,6 @@
!
! !LOCAL VARIABLES
type(ESMF_Clock) :: getmClock
type(ESMF_Grid) :: getmGrid2D
type(ESMF_Time) :: getmRefTime,getmStartTime,getmStopTime
type(ESMF_TimeInterval) :: getmTimeStep
type(ESMF_VM) :: vm
......@@ -708,9 +719,10 @@
end if
call getmComp_init_grid(getmComp,getmGrid2D)
call init_importStateP1(getmComp,getmGrid2D,importState)
call init_exportStateP1(getmComp,getmGrid2D,exportState)
call getmComp_init_grid(getmComp)
call NUOPC_FieldDictionarySetAutoAdd(.true.)
call init_importStateP1(getmComp,importState)
call init_exportStateP1(getmComp,exportState)
call toc(TIM_ESMF)
......@@ -775,8 +787,11 @@
call ESMF_LogWrite(trim(name)//"::InitializeP2...",ESMF_LOGMSG_TRACE)
call init_importStateP2(getmComp,importState)
call init_exportStateP2(getmComp,exportState)
call read_importState(getmComp,importState)
! If the initial Export state needs to be filled, do it here.
call getmComp_update_grid(getmComp)
call update_exportState(getmComp,exportState)
......@@ -1048,7 +1063,7 @@
! !ROUTINE: getmComp_init_grid - Creates Grid
!
! !INTERFACE:
subroutine getmComp_init_grid(getmComp,getmGrid2D)
subroutine getmComp_init_grid(getmComp)
!
! !DESCRIPTION:
!
......@@ -1067,9 +1082,6 @@
! !INPUT/OUTPUT PARAMETERS:
type(ESMF_GridComp) :: getmComp
!
! !OUTPUT PARAMETERS:
type(ESMF_Grid),intent(out) :: getmGrid2D
!
! !REVISION HISTORY:
! Original Author(s): Knut Klingbeil
!
......@@ -1089,7 +1101,7 @@
type(ESMF_Array) :: array
type(ESMF_CoordSys_Flag) :: coordSys
type(ESMF_DistGrid) :: getmDistGrid2D,getmDistGrid3D,distgrid
type(ESMF_Grid) :: getmGrid3D
type(ESMF_Grid) :: getmGrid3D,getmGrid2D
type(ESMF_StaggerLoc) :: staggerloc
type(ESMF_VM) :: vm
! Note (KK): ESMF_ARRAY's are deep classes, that persist after return.
......@@ -1282,12 +1294,7 @@
! staggerAlign and staggerEdgeWidth's.
! internal call to ESMF_GridCreateFrmDistGrid()
getmGrid2D = ESMF_GridCreate(getmDistGrid2D,name=trim(name)//"Grid2D", &
#if 0
! bug in ESMF
gridAlign=(/1,1/), &
#else
gridEdgeLWidth=(/1,1/), &
#endif
coordSys=coordSys, &
coordDimCount=int(coordDimCount(1:2)), &
coordDimMap=int(coordDimMap(1:2,1:2)), &
......@@ -1296,13 +1303,7 @@
if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
getmGrid3D = ESMF_GridCreate(getmDistGrid3D,name=trim(name)//"Grid3D", &
#if 0
! bug in ESMF
gridAlign=(/1,1,1/), &
#else
gridEdgeLWidth=(/1,1,1/), &
#endif
coordSys=coordSys, &
coordDimCount=coordDimCount, &
coordDimMap=coordDimMap, &
......@@ -1858,22 +1859,20 @@ if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
! !ROUTINE: init_importStateP1 -
!
! !INTERFACE:
subroutine init_importStateP1(getmComp,getmGrid2D,importState)
subroutine init_importStateP1(getmComp,importState)
!
! !DESCRIPTION:
!
! !USES:
use initialise ,only: runtype
use domain ,only: grid_type
use meteo ,only: met_method,calc_met,METEO_FROMEXT
use meteo ,only: airp,u10,v10,constant_cd
use meteo ,only: airp,u10,v10,t2,tcc
use waves ,only: waveforcing_method,WAVES_FROMEXT
use waves ,only: waves_ramp
use variables_waves,only: waveH,waveK,waveT
IMPLICIT NONE
!
! !INPUT PARAMETERS:
type(ESMF_Grid),intent(in) :: getmGrid2D
!
! !INPUT/OUTPUT PARAMETERS:
type(ESMF_GridComp) :: getmComp
type(ESMF_State) :: importState
......@@ -1882,7 +1881,8 @@ if (abort) call ESMF_Finalize(endflag=ESMF_END_ABORT)
! Original Author(s): Knut Klingbeil
!