110 likes | 250 Views
CTRL. MY. WDM6. SBUYLIN. Lake Effect Period Total Precip. Why is Graupel so different? The calculation? Answer within variables in the scheme. The relationship chosen? A nswer may be in the literature or code. No aha moment yet…. Is the species affecting distribution and
E N D
CTRL MY WDM6 SBUYLIN Lake Effect Period Total Precip
Why is Graupel so different? The calculation? Answer within variables in the scheme. The relationship chosen? Answer may be in the literature or code. No aha moment yet… Is the species affecting distribution and amount of precip? Fall velocities are variables within the scheme.
My Goal • Visualize Microphysics source/sink terms qsten(k) = qsten(k) + (prs_iau(k) + prs_sde(k) & + prs_sci(k) + prs_scw(k) + prs_rcs(k) & + prs_ide(k) - prs_ihm(k) - prr_sml(k)) & * orho
Where are Microphysics? WRFV3/… drwxr-xr-x 2 u0758091 steenbur 8192 Feb 1 10:34 dyn_em drwxr-xr-x 2 u0758091 steenbur 20480 Feb 1 10:32 phys drwxr-xr-x 2 u0758091 steenbur 4096 Feb 1 10:23 Registry …. In module_mp_thompson.F: qsten(k) = qsten(k) + (prs_iau(k) + prs_sde(k) & + prs_sci(k) + prs_scw(k) + prs_rcs(k) & + prs_ide(k) - prs_ihm(k) - prr_sml(k)) & * orho
Heirarchy solve_em.F {grid/domain operations} solve_emcalls microphysics_driver module_microphysics_driver.F microphysics_drivercalls mp_gt_driver module_mp_thompson.F mp_gt_driver calls mp_thompson {prs_iau locally defined}
Registry • In the Registry folder is a file called Registry.EM_COMMON • Variables are declared there (memory and grid) <Table><Type><Sym><Dims><Use><NumTLev> <Stagger><IO><DNAME><DESCRIP><UNITS> My Variable <Table><Type><Sym><Dims><Use><NumTLev><Stagger><IO><DNAME><DESCRIP><UNITS> state real iausnikjdyn_em - - h "Ice Auto Snow" "Ice autoconverted to snow" "kg kg-1"
Exploit existing code Calls declarations and assignments all the way through the hierarchy After the subroutine prs_iau is created in is called! do k = kts, kte {EXISTING CODE} iausn(i,k,j) = prs_iau(k) … {EXISTING CODE} enddo {EXISTING CODE}
Simple right? Scheme variable is local and 1 D? DOUBLE PRECISION, DIMENSION(kts:kte):: prs_iau • Registry variables are all REAL, and I want 3D non-local (dummy) variable ala: REAL,DIMENSION(ims:ime,kms:kme,jms:jme),INTENT(INOUT):: iausn
After Editing • ./clean -a • mv configure.wrf.backupconfigure.wrf • ./configure • ./compile >& compile.txt
Important • Variable characteristics • Every subroutine connection to grid • Where edits are made in the code • Indices • Easy to blindly correct compiler errors to get a clean compile • Keep and eye on the big picture