Hi all, I am trying to output snow and graupel melt, as well as rain evaporation from the Thompson Microphysics scheme and write it to the wrfout files.. I have been unsuccessful so I was wondering if anyone can look at my source code mods and perhaps help me de -bug? I've attached several screenshots of my mods as well as an error.txt containing the compile.log errors.
Based on my limited experience working within the Thompson mp scheme source code, I found the prs_sml (snow melt), prr_gml (graupe melt), and prv_rev (rain evaporation) to be the variables I needed to write out to wrfoutput (not entirely confident in the rain evaporation term... the other two I think are for sure correct). I first created new entires in the Registry.EM_COMMON (NTL_Registry_EM_edits.png). I think I did this correctly, however I wasn't confident in the IO field. Should this be "h" for history?
Next, I edited the Solve_em.F (NTL_Solve_em_edits.png) which I think is correct... I then made edits to the Thompson scheme itself by first editing the mp_gt_driver routine to include the variables from the Registry I created (NTL_Thompson_mp_gt_driver_edits.png), defined the variables (NTL_thompson_define_variables_out_of_subroutine.png), initialized the 3d variables (NTL_thompson_intitalize_3D_mp_variables_edits.png), called the 1D variables in the call mp_thompson routine (NTL_thompson_call_mp_thompson_edits.png) and finally converted some units in the source/sink terms (NTL_thompson_convert_sink_units.png).
Lastly, I edited the module_microphysics_driver.F to add the new 3D variables (NTL_microphysics_driver_add_3d_var.png), define the variables (NTL_microphysics_driver_define_var - Not too sure if this one is necessary or not....), and finally to modify the call mp_gt_driver (NTL_microphysics_driver_call_mp_gt_driver.png).
I've attached an error.txt which shows the compile.log errors I'm receiving. It appears the errors are coming from the microphysics_driver.F module... "../phys/module_microphysics_driver.f90(747): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface. [SNOWML]"
I'm really not sure how to interpret this error as this is all really new to me. Does anyone have any suggestions?
Thanks again for the help!
Take care,
Nick Luchetti
Based on my limited experience working within the Thompson mp scheme source code, I found the prs_sml (snow melt), prr_gml (graupe melt), and prv_rev (rain evaporation) to be the variables I needed to write out to wrfoutput (not entirely confident in the rain evaporation term... the other two I think are for sure correct). I first created new entires in the Registry.EM_COMMON (NTL_Registry_EM_edits.png). I think I did this correctly, however I wasn't confident in the IO field. Should this be "h" for history?
Next, I edited the Solve_em.F (NTL_Solve_em_edits.png) which I think is correct... I then made edits to the Thompson scheme itself by first editing the mp_gt_driver routine to include the variables from the Registry I created (NTL_Thompson_mp_gt_driver_edits.png), defined the variables (NTL_thompson_define_variables_out_of_subroutine.png), initialized the 3d variables (NTL_thompson_intitalize_3D_mp_variables_edits.png), called the 1D variables in the call mp_thompson routine (NTL_thompson_call_mp_thompson_edits.png) and finally converted some units in the source/sink terms (NTL_thompson_convert_sink_units.png).
Lastly, I edited the module_microphysics_driver.F to add the new 3D variables (NTL_microphysics_driver_add_3d_var.png), define the variables (NTL_microphysics_driver_define_var - Not too sure if this one is necessary or not....), and finally to modify the call mp_gt_driver (NTL_microphysics_driver_call_mp_gt_driver.png).
I've attached an error.txt which shows the compile.log errors I'm receiving. It appears the errors are coming from the microphysics_driver.F module... "../phys/module_microphysics_driver.f90(747): error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface. [SNOWML]"
I'm really not sure how to interpret this error as this is all really new to me. Does anyone have any suggestions?
Thanks again for the help!
Take care,
Nick Luchetti