ALL ARRAYS THAT FOLLOW ARE USED WHEN INCLUDING NEUTRAL PERTURBATIONS FROM ANOTHER MODEL ARRAYS TO STORE THE NEUTRAL GRID INFORMATION as long as the neutral module is in scope these persist and do not require a "save"; this variable only used by the axisymmetric interpolation THIS SHARES SO MUCH CODE WITH THE AXISYMMETRIC VERSION THAT THEY SHOULD PROBABLY BE COMBINED
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | private, | dimension(:), allocatable | :: | rhon | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | yn | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | zn | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | xn | |||
| integer, | private | :: | lrhon | STORAGE FOR NEUTRAL SIMULATION DATA. THESE ARE INCLUDED AS MODULE VARIATIONS TO AVOID HAVING TO REALLOCATE AND DEALLOCIATE EACH TIME WE NEED TO INTERP |
|||
| integer, | private | :: | lzn | STORAGE FOR NEUTRAL SIMULATION DATA. THESE ARE INCLUDED AS MODULE VARIATIONS TO AVOID HAVING TO REALLOCATE AND DEALLOCIATE EACH TIME WE NEED TO INTERP |
|||
| integer, | private | :: | lyn | STORAGE FOR NEUTRAL SIMULATION DATA. THESE ARE INCLUDED AS MODULE VARIATIONS TO AVOID HAVING TO REALLOCATE AND DEALLOCIATE EACH TIME WE NEED TO INTERP |
|||
| integer, | private | :: | lxn | STORAGE FOR NEUTRAL SIMULATION DATA. THESE ARE INCLUDED AS MODULE VARIATIONS TO AVOID HAVING TO REALLOCATE AND DEALLOCIATE EACH TIME WE NEED TO INTERP |
|||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnO | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnN2 | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnO2 | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnrho | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnz | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnx | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dTn | full grid parameters for root to store input from files. |
||
| real(kind=wp), | private, | dimension(:), allocatable | :: | xnall | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | ynall | |||
| integer, | private | :: | lxnall | ||||
| integer, | private | :: | lynall | ||||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnOall | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnN2all | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnO2all | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnrhoall | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnzall | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnxall | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dTnall | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnOiprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnN2iprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnO2iprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnrhoiprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnziprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dTniprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn1iprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn2iprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn3iprev | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnxiprev | |||
| real(kind=wp), | private | :: | tprev | ||||
| integer, | private, | dimension(3) | :: | ymdprev | denoted time corresponding to "prev" interpolated data |
||
| real(kind=wp), | private | :: | UTsecprev | ||||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnOinext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnN2inext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dnO2inext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnrhoinext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnzinext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dTninext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn1inext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn2inext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvn3inext | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | dvnxinext | |||
| real(kind=wp), | private | :: | tnext | ||||
| integer, | private, | dimension(3) | :: | ymdnext | |||
| real(kind=wp), | private | :: | UTsecnext | ||||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_erhop_e1 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_ezp_e1 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_erhop_e2 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_ezp_e2 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_erhop_e3 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_ezp_e3 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_eyp_e1 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_eyp_e2 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_eyp_e3 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_exp_e1 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_exp_e2 | |||
| real(kind=wp), | private, | dimension(:,:,:), allocatable | :: | proj_exp_e3 | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | zi | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | yi | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | xi | |||
| real(kind=wp), | private, | dimension(:), allocatable | :: | rhoi | |||
| real(kind=wp), | private, | dimension(:,:), allocatable | :: | extents | |||
| integer, | private, | dimension(:,:), allocatable | :: | indx | |||
| integer, | private, | dimension(:,:), allocatable | :: | slabsizes | BASE MSIS ATMOSPHERIC STATE ON WHICH TO APPLY PERTURBATIONS |
||
| real(kind=wp), | protected, | dimension(:,:,:,:), allocatable | :: | nnmsis | |||
| real(kind=wp), | public, | dimension(:,:,:), allocatable | :: | Tnmsis | |||
| real(kind=wp), | protected, | dimension(:,:,:), allocatable | :: | vn1base | |||
| real(kind=wp), | protected, | dimension(:,:,:), allocatable | :: | vn2base | |||
| real(kind=wp), | protected, | dimension(:,:,:), allocatable | :: | vn3base |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ymd(3) | |||
| real(kind=wp), | intent(in) | :: | UTsecd | |||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | glat | ||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | glon | ||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | alt | ||
| real(kind=wp), | intent(in) | :: | activ(3) | |||
| real(kind=wp), | intent(out), | dimension(1:size(alt,1),1:size(alt,2),1:size(alt,3),lnchem) | :: | nn | ||
| real(kind=wp), | intent(out), | dimension(1:size(alt,1),1:size(alt,2),1:size(alt,3)) | :: | Tn |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | interptype | |||
| real(kind=wp), | intent(in) | :: | dt | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | t | |||
| integer, | intent(in), | dimension(3) | :: | ymd | ||
| real(kind=wp), | intent(in) | :: | UTsec | |||
| character(len=*), | intent(in) | :: | neudir | |||
| real(kind=wp), | intent(in) | :: | dxn | |||
| real(kind=wp), | intent(in) | :: | drhon | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| type(curvmesh), | intent(inout) | :: | x | |||
| real(kind=wp), | intent(out), | dimension(:,:,:,:) | :: | nn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | Tn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn1 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn2 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dt | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | t | |||
| integer, | intent(in), | dimension(3) | :: | ymd | ||
| real(kind=wp), | intent(in) | :: | UTsec | |||
| character(len=*), | intent(in) | :: | neudir | |||
| real(kind=wp), | intent(in) | :: | drhon | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| type(curvmesh), | intent(inout) | :: | x | |||
| real(kind=wp), | intent(out), | dimension(:,:,:,:) | :: | nn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | Tn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn1 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn2 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dt | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | t | |||
| integer, | intent(in), | dimension(3) | :: | ymd | ||
| real(kind=wp), | intent(in) | :: | UTsec | |||
| character(len=*), | intent(in) | :: | neudir | |||
| real(kind=wp), | intent(in) | :: | dyn | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| type(curvmesh), | intent(inout) | :: | x | |||
| real(kind=wp), | intent(out), | dimension(:,:,:,:) | :: | nn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | Tn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn1 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn2 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dt | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | t | |||
| integer, | intent(in), | dimension(3) | :: | ymd | ||
| real(kind=wp), | intent(in) | :: | UTsec | |||
| character(len=*), | intent(in) | :: | neudir | |||
| real(kind=wp), | intent(in) | :: | dxn | |||
| real(kind=wp), | intent(in) | :: | dyn | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| type(curvmesh), | intent(inout) | :: | x | |||
| real(kind=wp), | intent(out), | dimension(:,:,:,:) | :: | nn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | Tn | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn1 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn2 | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | vn3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dhorzn | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| character(len=*), | intent(in) | :: | neudir | |||
| logical, | intent(in) | :: | flagcart | |||
| type(curvmesh), | intent(inout) | :: | x |
COMPUTE DISTANCES - ZZZ possibly superfluous for 3D case???
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dxn | |||
| real(kind=wp), | intent(in) | :: | dyn | |||
| real(kind=wp), | intent(in) | :: | dzn | |||
| real(kind=wp), | intent(in) | :: | meanlat | |||
| real(kind=wp), | intent(in) | :: | meanlong | |||
| character(len=*), | intent(in) | :: | neudir | |||
| type(curvmesh), | intent(inout) | :: | x |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | tprev | |||
| real(kind=wp), | intent(in) | :: | tnext | |||
| real(kind=wp), | intent(in) | :: | t | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | dt | |||
| character(len=*), | intent(in) | :: | neudir | |||
| integer, | intent(out), | dimension(3) | :: | ymdtmp | ||
| real(kind=wp), | intent(out) | :: | UTsectmp | |||
| logical, | intent(in) | :: | flagcart |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | tprev | |||
| real(kind=wp), | intent(in) | :: | tnext | |||
| real(kind=wp), | intent(in) | :: | t | |||
| real(kind=wp), | intent(in) | :: | dtneu | |||
| real(kind=wp), | intent(in) | :: | dt | |||
| character(len=*), | intent(in) | :: | neudir | |||
| integer, | intent(out), | dimension(3) | :: | ymdtmp | ||
| real(kind=wp), | intent(out) | :: | UTsectmp |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | flagcart |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | t | |||
| real(kind=wp), | intent(in) | :: | dt | |||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dNOinow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dnN2inow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dnO2inow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dvn1inow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dvn2inow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dvn3inow | ||
| real(kind=wp), | intent(out), | dimension(:,:,:) | :: | dTninow |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | maxzn | |||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | ximat | ||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | yimat | ||
| real(kind=wp), | intent(in), | dimension(:,:,:) | :: | zimat | ||
| real(kind=wp), | intent(in) | :: | sourcemlat | |||
| real(kind=wp), | intent(out), | dimension(2) | :: | xnrange | ||
| real(kind=wp), | intent(out), | dimension(2) | :: | ynrange |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in), | dimension(6) | :: | ranges | ||
| real(kind=wp), | intent(in), | dimension(:) | :: | zn | ||
| real(kind=wp), | intent(in), | dimension(:) | :: | xnall | ||
| real(kind=wp), | intent(in), | dimension(:) | :: | ynall | ||
| integer, | intent(out), | dimension(6) | :: | indices |