Skip to content

Conversation

@smileMchen
Copy link
Owner

@smileMchen smileMchen commented Oct 23, 2019

This is the WSM6 code changes for CPF. Details are listed below:

(1) All arrays in the CPF top-level subroutine (wsm62D) are changed to 2D arrays, and list separately in the argument list; they are also declared as tile-size arrays
(2) Two special error-handling CCPP variables are added to the argument list of top-level interface and CPF top-level interface subroutines, i.e., mpas_atm_time_integration.F, mpas_atmphys_driver_microphysics.F, module_mp_wsm6.F
(3) Local 2D tile size arrays are declared for all variables in the 3D interface that calls wsm62D
(4) Variables are declared as INTENT(IN), INTENT(OUT) or INTENT(INOUT) based on their INTENT in the code.
(5) CPF interface routines and CPF identification are added 
(6)  Place holder routines for init and finalize are included
(7) The metadata are constructed
(8) Makefiles are changed corresponding to  code changes
(9) Results of the original codes and modified codes are Bit-for-bit .
(10) All subroutines are declared as either PUBLIC or PRIVATE when necessary
(11) The "J" index is removed from the subroutine call

Modified codes:
M	   Makefile
M	   src/core_atmosphere/dynamics/mpas_atm_time_integration.F
M	   src/core_atmosphere/physics/Makefile
M	   src/core_atmosphere/physics/mpas_atmphys_driver_microphysics.F
M	   src/core_atmosphere/physics/physics_wrf/Makefile
M	   src/core_atmosphere/physics/physics_wrf/module_bl_ysu.F
M	   src/core_atmosphere/physics/physics_wrf/module_mp_wsm6.F
A          src/core_atmosphere/physics/physics_sima/mp_wsm6.F
A          src/core_atmosphere/physics/physics_sima/module_mp_radar.F
A          src/core_atmosphere/physics/physics_sima/Makefile
A          src/core_atmosphere/physics/physics_sima/mp_wsm6.meta

To-do list:

(1) Include CCPP information of the size of real variables

@smileMchen smileMchen changed the title This is the WSM6 microphysics code modificatiion for CPF The WSM6 microphysics code modificatiion for CPF Oct 23, 2019
… move module_mp_wsm6.F from physics_sima to physics_wrf
(1) rename the major run module as "wsm6_run.F"
(2) rename subroutine "wsm62D" as "mp_wsm6_run"
(3) Put the "call for effectrad_wsm6" into the module "wsm6_run.F" (inside subroutine mp_wsm6_run)
(4) delete the "call for effectrad_wsm6" from "module_mp_wsm6.F"
(5) These changes yield bit-4-bit results withunchanged codes
@smileMchen
Copy link
Owner Author

@davegill
Dave,
I have modified the codes based on your suggestion of last Wednesday.
(1) All the changes you made (see your PR of last week) has been included
(2)The module to run the wsm6 scheme is named "wsm6_run.F"
(3)The subroutine "wsm62D" is renamed as "mp_wsm6_run" to be consistent with CCPP convention
(4) Put the "call for effectrad_wsm6" into the module "wsm6_run.F" (inside subroutine mp_wsm6_run)
(5) delete the "call for effectrad_wsm6" from "module_mp_wsm6.F"
(6) The results are bit-4-bit.
Please see the commit on 6/15/2020.

…p_wsm6.F

(2) mp_wsm6.meta is modified based on Dave's email of 6/25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants