-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Helfand Monin-Obukhov derivatives for GEOSldas offline runs #918
Conversation
@@ -3438,6 +3541,29 @@ subroutine RUN1 ( GC, IMPORT, EXPORT, CLOCK, RC ) | |||
CALL helfsurface( UWINDLMTILE,VWINDLMTILE,TA,TC(:,N),QA,QC(:,N),PSL,PSMB,Z0T(:,N),lai, & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this intentional to call this function three times? or it should be
if (incl_HelfandMo_extra_derives ==0) then
call once
else if(incl_HelfandMO_extra_derivs ==1) then
call your addition ( twice)
endif
@@ -3438,6 +3541,29 @@ subroutine RUN1 ( GC, IMPORT, EXPORT, CLOCK, RC ) | |||
CALL helfsurface( UWINDLMTILE,VWINDLMTILE,TA,TC(:,N),QA,QC(:,N),PSL,PSMB,Z0T(:,N),lai, & | |||
IWATER,DZE,niter,nt,RHOH,VKH,VKM,USTAR,XX,YY,CU,CT,RIB,ZETA,WS, & | |||
t2m,q2m,u2m,v2m,t10m,q10m,u10m,v10m,u50m,v50m,CHOOSEZ0) | |||
|
|||
! for helfsurface | |||
if(CATCH_INTERNAL_STATE%CHOOSEMOSFC==1 .and. incl_HelfandMO_extra_derivs ==1) then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CATCH_INTERNAL_STATE%CHOOSEMOSFC==1 is redundant here
The crash is due to small_TC which is way to small. TC is around 270. and the smal_tc = 0.0001 is just roundoff error. This eventually leads to NaN of TC and crash. It should work if small_TC=0.1 . But I think the better way is to use relative perturb factor, so each tile has the same perturbation. When I choose factor = 0.01, the program has run for 1 year. /gpfsm/dnb34/wjiang/LDAS_exp/model/exp_helfand_sles15_small_factor |
- changed default to NOT use extra derivs - renamed resource variable for extra derivs - reordered and moved variable declarations etc for consistency
Replaced with new PR #999 |
This PR adds Helfand M-O derivatives needed for GEOSldas offline runs.
Almost all GEOSldas offline runs are run using Louis scheme choice due to the lack of these derivatives for Helfand M-O option. This is not in sink to what AGCM uses which is Helfand always.
Surface layer turbulence scheme
0 : Louis (MERRA, Fortuna-DAS, SMAP NRv4/4.1/5/7.2/8.1/9.1/10.0)
1 : Helfand Monin-Obukhov (Fortuna-AR5, Ganymed, Heracles, Icarus-3_2, MERRA-2)
GEOSagcm=>CHOOSEMOSFC: 1
Derivatives added are:
This PR is NOT zero diff for GEOSldas runs with CHOOSEMOSFC: 1 but is zero diff for AGCM runs.
NOTE: Long test runs are in progress I will update PR once testing is done.