- Timestamp:
- 05/18/20 21:07:49 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/diagnostics/compute_pression.F90
r956 r1027 109 109 END SUBROUTINE hydrostatic_pressure 110 110 111 !-------------- Wrappers for F2008 conformity ----------------- 112 113 SUBROUTINE compute_pression_hex(ps,p,offset) 114 REAL(rstd),INTENT(IN) :: ps(:) 115 REAL(rstd),INTENT(OUT) :: p(:,:) 116 INTEGER,INTENT(IN) :: offset 117 CALL compute_pression_hex_(ps,p,offset) 118 END SUBROUTINE compute_pression_hex 119 120 SUBROUTINE compute_pression_unst(ps,p,offset) 121 REAL(rstd),INTENT(IN) :: ps(:) 122 REAL(rstd),INTENT(OUT) :: p(:,:) 123 INTEGER,INTENT(IN) :: offset 124 CALL compute_pression_unst_(ps,p,offset) 125 END SUBROUTINE compute_pression_unst 126 127 SUBROUTINE compute_pression_mid_hex(ps,p,offset) 128 REAL(rstd),INTENT(IN) :: ps(:) 129 REAL(rstd),INTENT(OUT) :: p(:,:) 130 INTEGER,INTENT(IN) :: offset 131 CALL compute_pression_mid_hex_(ps,p,offset) 132 END SUBROUTINE compute_pression_mid_hex 133 134 SUBROUTINE compute_pression_mid_unst(ps,p,offset) 135 REAL(rstd),INTENT(IN) :: ps(:) 136 REAL(rstd),INTENT(OUT) :: p(:,:) 137 INTEGER,INTENT(IN) :: offset 138 CALL compute_pression_mid_unst_(ps,p,offset) 139 END SUBROUTINE compute_pression_mid_unst 140 141 SUBROUTINE compute_hydrostatic_pressure_hex(rhodz, theta_rhodz, ps, p) 142 REAL(rstd),INTENT(IN) :: rhodz(:,:), theta_rhodz(:,:,:) 143 REAL(rstd),INTENT(OUT) :: ps(:), p(:,:) 144 CALL compute_hydrostatic_pressure_hex_(rhodz, theta_rhodz, ps, p) 145 END SUBROUTINE compute_hydrostatic_pressure_hex 146 147 SUBROUTINE compute_hydrostatic_pressure_unst(rhodz, theta_rhodz, ps, p) 148 REAL(rstd),INTENT(IN) :: rhodz(:,:), theta_rhodz(:,:,:) 149 REAL(rstd),INTENT(OUT) :: ps(:), p(:,:) 150 CALL compute_hydrostatic_pressure_unst_(rhodz, theta_rhodz, ps, p) 151 END SUBROUTINE compute_hydrostatic_pressure_unst 152 111 153 !------------- hexagonal-mesh compute kernels -------- 112 154 … … 114 156 #define BP(ij,l) bp(l) 115 157 116 SUBROUTINE compute_pression_hex (ps,p,offset)158 SUBROUTINE compute_pression_hex_(ps,p,offset) 117 159 REAL(rstd),INTENT(IN) :: ps(iim*jjm) 118 160 REAL(rstd),INTENT(OUT) :: p(iim*jjm,llm+1) … … 120 162 INTEGER :: ij,l 121 163 #include "../kernels_hex/compute_pression.k90" 122 END SUBROUTINE compute_pression_hex 123 124 SUBROUTINE compute_pression_mid_hex (ps,pmid,offset)164 END SUBROUTINE compute_pression_hex_ 165 166 SUBROUTINE compute_pression_mid_hex_(ps,pmid,offset) 125 167 REAL(rstd),INTENT(IN) :: ps(iim*jjm) 126 168 REAL(rstd),INTENT(OUT) :: pmid(iim*jjm,llm) … … 128 170 INTEGER :: ij,l 129 171 #include "../kernels_hex/compute_pmid.k90" 130 END SUBROUTINE compute_pression_mid_hex 172 END SUBROUTINE compute_pression_mid_hex_ 131 173 132 174 #undef AP 133 175 #undef BP 134 176 135 SUBROUTINE compute_hydrostatic_pressure_hex (rhodz, theta_rhodz, ps, pk)177 SUBROUTINE compute_hydrostatic_pressure_hex_(rhodz, theta_rhodz, ps, pk) 136 178 REAL(rstd),INTENT(IN) :: rhodz(iim*jjm,llm) ! mass per unit surface in each model level 137 179 REAL(rstd),INTENT(IN) :: theta_rhodz(iim*jjm,llm, nqdyn) ! dynamical tracers (theta/entropy) … … 143 185 #include "../kernels_hex/compute_hydrostatic_pressure.k90" 144 186 !$OMP BARRIER 145 END SUBROUTINE compute_hydrostatic_pressure_hex 187 END SUBROUTINE compute_hydrostatic_pressure_hex_ 146 188 147 189 !----------- unstructured-mesh compute kernels -------- … … 150 192 #define BP(l,ij) bp(l) 151 193 152 SUBROUTINE compute_pression_unst (ps, p, offset)194 SUBROUTINE compute_pression_unst_(ps, p, offset) 153 195 FIELD_PS, INTENT(IN) :: ps 154 196 FIELD_GEOPOT, INTENT(OUT) :: p … … 156 198 DECLARE_INDICES 157 199 #include "../kernels_unst/compute_pression.k90" 158 END SUBROUTINE compute_pression_unst 159 160 SUBROUTINE compute_pression_mid_unst (ps, pmid, offset)200 END SUBROUTINE compute_pression_unst_ 201 202 SUBROUTINE compute_pression_mid_unst_(ps, pmid, offset) 161 203 FIELD_PS, INTENT(IN) :: ps 162 204 FIELD_MASS, INTENT(OUT) :: pmid … … 164 206 DECLARE_INDICES 165 207 #include "../kernels_unst/compute_pmid.k90" 166 END SUBROUTINE compute_pression_mid_unst 208 END SUBROUTINE compute_pression_mid_unst_ 167 209 168 210 #undef AP 169 211 #undef BP 170 212 171 SUBROUTINE compute_hydrostatic_pressure_unst (rhodz, theta_rhodz, ps, pk)213 SUBROUTINE compute_hydrostatic_pressure_unst_(rhodz, theta_rhodz, ps, pk) 172 214 FIELD_MASS, INTENT(IN) :: rhodz 173 215 FIELD_THETA, INTENT(IN) :: theta_rhodz … … 176 218 DECLARE_INDICES 177 219 #include "../kernels_unst/compute_hydrostatic_pressure.k90" 178 END SUBROUTINE compute_hydrostatic_pressure_unst 220 END SUBROUTINE compute_hydrostatic_pressure_unst_ 179 221 180 222
Note: See TracChangeset
for help on using the changeset viewer.