Writing an interstitial filed to the history file #486
Unanswered
ericaligo-NOAA
asked this question in
Q&A
Replies: 3 comments 4 replies
-
You can't output interstitial data to disk. The data is not persistent and does not contain valid data at the time the diagnostic output is written. If you just want to output the existing array as it is, you could move it from the Interstitial DDT to a persistent DDT (e.g. Sfcprop). All it takes is moving a bit of Fortran code in |
Beta Was this translation helpful? Give feedback.
1 reply
-
If the framework thinks it is in the interstitial DDT, then you need to move it in GFS_typedefs.F90 from within the interstitial metadata table into the diag metadata table.
diag is ok but you want to make sure that those quantities get reset to zero each time or are intent(out) variables so that there is no accumulation.
… On Mar 8, 2022, at 8:25 AM, ericaligo-NOAA ***@***.***> wrote:
I moved it to Diag instead in all of the places that I'm aware of, however, I was getting the error message below. I'm not sure why it still thinks rainmp is an interstitial. Is this okay for me to move rainmp to Diag instead of Sfcprop?
/scratch2/NCEPDEV/fv3-cam/save/Eric.Aligo/ufs-weather-model_winterwx/build/FV3/ccpp/physics/ccpp_FV3_GFS_v15_thompson_mynn_lam3km_physics_cap.F90(2077): error #6460: This is not a field name that is defined in the encompassing structure. [RAINMP]
rain=GFS_Interstitial(cdata%thrd_no)%rainmp,graupel=GFS_Interstitial(cdata%thrd_no)%graupelmp, &
-------------------------------------------------------^
I also modified GFS_debug.F90 and moved rainnmp from interstitial to Diag:
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%rainmp ', Diag%rainmp)
—
Reply to this email directly, view it on GitHub <#486 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB5C2RNVGBPU4PBI5IMO4B3U65WOBANCNFSM5PCHOTMQ>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
1 reply
-
I think you need to check inside mp_thompson.F90 if the logic overwrites the fields or adds to it, apart from that your logic for diag reset seems to be ok.
… On Mar 8, 2022, at 8:41 AM, ericaligo-NOAA ***@***.***> wrote:
Ohhhhhh wow! I missed that one. Thanks. Well, I 'do' want these accumulated. I followed what was done for totprcp and 'not' totprcpb, which is a bucket precip field. See below where I moved rainmp,graupelmp and snowmp to.
I didn't change intent anywhere though. I could easily move it Sfcprop if that means I don't need to worry about intent in all of the routines, but I can still accumulate. What do you suggest?
if (present(linit) ) set_totprcp = linit
if (present(iauwindow_center) ) set_totprcp = iauwindow_center
if (set_totprcp) then
Diag%totprcp = zero
Diag%cnvprcp = zero
Diag%totice = zero
Diag%totsnw = zero
Diag%totgrp = zero
**Diag%graupelmp = zero
Diag%rainmp = zero
Diag%snowmp = zero**
—
Reply to this email directly, view it on GitHub <#486 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB5C2RIQTWOJDG5QWWF4RX3U65YJPANCNFSM5PCHOTMQ>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I would like to write out graupelmp, an interstitial, to the FV3 history file, however, it's not clear if and how this can be added to GFS_diagnostics.F90. An attempt has been made to add this field to GFS_diagnostics.F90, but a compiler error notes that interstitial and IntDiag can not be used. What options do I have?
Eric
Beta Was this translation helpful? Give feedback.
All reactions