Hi,
I am not familiar with the way WRF dynamics works, so please pardon me if these questions are quite basic. I would like to add a 3D passive tracer to my model, let's call it X. This tracer is dimensionless, and is supposed to be advected by the model dynamics. The tendency of X is calculated in a physics scheme (the UW shallow convection scheme). From what I understood, I should add X as one of the species in one of the 4D arrays in WRF (moisture, scalar, chem and tracer). I assume the "moisture" arrays are involved in budget calculations as well as other diagnostics calculations (e.g. pressure and air density), but I am not familiar with the difference between three other 4D arrays (scalar, tracer and chem). My questions are:
Sorry for the long questions, I appreciate any help, advice or pointer anyone can give me. Thank you very much!
I am not familiar with the way WRF dynamics works, so please pardon me if these questions are quite basic. I would like to add a 3D passive tracer to my model, let's call it X. This tracer is dimensionless, and is supposed to be advected by the model dynamics. The tendency of X is calculated in a physics scheme (the UW shallow convection scheme). From what I understood, I should add X as one of the species in one of the 4D arrays in WRF (moisture, scalar, chem and tracer). I assume the "moisture" arrays are involved in budget calculations as well as other diagnostics calculations (e.g. pressure and air density), but I am not familiar with the difference between three other 4D arrays (scalar, tracer and chem). My questions are:
- From what I can tell, the "scalar" and "tracer" arrays are treated the same way in the WRF code (please correct me if i am wrong). For convenience (since "scalar" is already included in Registry.EM_COMMON), can i simply declare X as a scalar? It would be accessed by calling scalar(i,k,j,P_X). Note that X is dimensionless.
- Must a scalar (or tracer) species always have a tendency term associated with it? X_tend is calculated in the physics scheme, and X is then updated there (by calling the "physics_update" subroutine of the CAMZM package), should I also add X_tend to the rest of the code so that X is properly advected? e.g., should I add X_tend to module_physics_addtendc.F? Would this mean that X is updated twice (once in the physics scheme and then again by the model dynamics)? Perhaps my understanding of the way the diffusion/advection modules work is too rudimentary here...
- Are there any other modules that I should modify in order for X to be properly used in the model dynamics?
Sorry for the long questions, I appreciate any help, advice or pointer anyone can give me. Thank you very much!