Changeset 3818 for dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd
- Timestamp:
- Apr 18, 2015, 10:29:29 AM (10 years ago)
- Location:
- dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd
- Files:
-
- 44 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/aaam_bud.F90
r3814 r3818 6 6 7 7 USE dimphy 8 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat 8 9 IMPLICIT NONE 9 10 ! ====================================================================== … … 58 59 ! =================== 59 60 60 ! iim--common-I: Number of longitude intervals61 ! nbp_lon--common-I: Number of longitude intervals 61 62 ! jjm--common-I: Number of latitude intervals 62 63 ! klon-common-I: Number of points seen by the physics 63 ! iim*(jjm-1)+2 for instance64 ! nbp_lon*(jjm-1)+2 for instance 64 65 ! klev-common-I: Number of vertical layers 65 66 ! ====================================================================== … … 84 85 ! ====================================================================== 85 86 86 include "dimensions.h"87 ! cc#include "dimphy.h"88 89 87 ! ARGUMENTS 90 88 … … 121 119 ! PUT AAM QUANTITIES AT ZERO: 122 120 123 IF ( iim+1>801 .OR. jjm+1>401) THEN121 IF (nbp_lon+1>801 .OR. nbp_lat>401) THEN 124 122 abort_message = 'Pb de dimension dans aaam_bud' 125 123 CALL abort_physic(modname, abort_message, 1) … … 129 127 hadley = 1.E18 130 128 hadday = 1.E18*24.*3600. 131 dlat = xpi/real( jjm)132 dlon = 2.*xpi/real( iim)129 dlat = xpi/real(nbp_lat-1) 130 dlon = 2.*xpi/real(nbp_lon) 133 131 134 132 DO iax = 1, 3 … … 155 153 zlat(1) = plat(l)*xpi/180. 156 154 157 DO i = 1, iim+ 1155 DO i = 1, nbp_lon + 1 158 156 159 157 zs(i, 1) = phis(l)/rg … … 169 167 170 168 171 DO j = 2, jjm169 DO j = 2, nbp_lat-1 172 170 173 171 ! Values at Greenwich (Periodicity) 174 172 175 zs( iim+1, j) = phis(l+1)/rg176 ps( iim+1, j) = p(l+1, 1)177 ssou( iim+1, j) = dragu(l+1) + liftu(l+1)178 ssov( iim+1, j) = dragv(l+1) + liftv(l+1)179 blsu( iim+1, j) = phyu(l+1) - dragu(l+1) - liftu(l+1)180 blsv( iim+1, j) = phyv(l+1) - dragv(l+1) - liftv(l+1)181 zlon( iim+1) = -plon(l+1)*xpi/180.173 zs(nbp_lon+1, j) = phis(l+1)/rg 174 ps(nbp_lon+1, j) = p(l+1, 1) 175 ssou(nbp_lon+1, j) = dragu(l+1) + liftu(l+1) 176 ssov(nbp_lon+1, j) = dragv(l+1) + liftv(l+1) 177 blsu(nbp_lon+1, j) = phyu(l+1) - dragu(l+1) - liftu(l+1) 178 blsv(nbp_lon+1, j) = phyv(l+1) - dragv(l+1) - liftv(l+1) 179 zlon(nbp_lon+1) = -plon(l+1)*xpi/180. 182 180 zlat(j) = plat(l+1)*xpi/180. 183 181 184 ub( iim+1, j) = 0.185 vb( iim+1, j) = 0.182 ub(nbp_lon+1, j) = 0. 183 vb(nbp_lon+1, j) = 0. 186 184 DO k = 1, nlev 187 ub( iim+1, j) = ub(iim+1, j) + u(l+1, k)*(p(l+1,k)-p(l+1,k+1))/rg188 vb( iim+1, j) = vb(iim+1, j) + v(l+1, k)*(p(l+1,k)-p(l+1,k+1))/rg189 END DO 190 191 192 DO i = 1, iim185 ub(nbp_lon+1, j) = ub(nbp_lon+1, j) + u(l+1, k)*(p(l+1,k)-p(l+1,k+1))/rg 186 vb(nbp_lon+1, j) = vb(nbp_lon+1, j) + v(l+1, k)*(p(l+1,k)-p(l+1,k+1))/rg 187 END DO 188 189 190 DO i = 1, nbp_lon 193 191 194 192 l = l + 1 … … 215 213 ! South Pole 216 214 217 IF ( jjm>1) THEN215 IF (nbp_lat-1>1) THEN 218 216 l = l + 1 219 ub(1, jjm+1) = 0.220 vb(1, jjm+1) = 0.217 ub(1, nbp_lat) = 0. 218 vb(1, nbp_lat) = 0. 221 219 DO k = 1, nlev 222 ub(1, jjm+1) = ub(1, jjm+1) + u(l, k)*(p(l,k)-p(l,k+1))/rg223 vb(1, jjm+1) = vb(1, jjm+1) + v(l, k)*(p(l,k)-p(l,k+1))/rg224 END DO 225 zlat( jjm+1) = plat(l)*xpi/180.226 227 DO i = 1, iim+ 1228 zs(i, jjm+1) = phis(l)/rg229 ps(i, jjm+1) = p(l, 1)230 ssou(i, jjm+1) = dragu(l) + liftu(l)231 ssov(i, jjm+1) = dragv(l) + liftv(l)232 blsu(i, jjm+1) = phyu(l) - dragu(l) - liftu(l)233 blsv(i, jjm+1) = phyv(l) - dragv(l) - liftv(l)234 ub(i, jjm+1) = ub(1, jjm+1)235 vb(i, jjm+1) = vb(1, jjm+1)220 ub(1, nbp_lat) = ub(1, nbp_lat) + u(l, k)*(p(l,k)-p(l,k+1))/rg 221 vb(1, nbp_lat) = vb(1, nbp_lat) + v(l, k)*(p(l,k)-p(l,k+1))/rg 222 END DO 223 zlat(nbp_lat) = plat(l)*xpi/180. 224 225 DO i = 1, nbp_lon + 1 226 zs(i, nbp_lat) = phis(l)/rg 227 ps(i, nbp_lat) = p(l, 1) 228 ssou(i, nbp_lat) = dragu(l) + liftu(l) 229 ssov(i, nbp_lat) = dragv(l) + liftv(l) 230 blsu(i, nbp_lat) = phyu(l) - dragu(l) - liftu(l) 231 blsv(i, nbp_lat) = phyv(l) - dragv(l) - liftv(l) 232 ub(i, nbp_lat) = ub(1, nbp_lat) 233 vb(i, nbp_lat) = vb(1, nbp_lat) 236 234 END DO 237 235 END IF … … 240 238 ! MOMENT ANGULAIRE 241 239 242 DO j = 1, jjm243 DO i = 1, iim240 DO j = 1, nbp_lat-1 241 DO i = 1, nbp_lon 244 242 245 243 raam(1) = raam(1) - rea**3*dlon*dlat*0.5*(cos(zlon(i))*sin(zlat(j))*cos & … … 274 272 275 273 276 DO j = 1, jjm277 DO i = 1, iim274 DO j = 1, nbp_lat-1 275 DO i = 1, nbp_lon 278 276 tmou(1) = tmou(1) - rea**2*dlon*0.5*sin(zlon(i))*(zs(i,j)-zs(i,j+1))*( & 279 277 cos(zlat(j+1))*ps(i,j+1)+cos(zlat(j))*ps(i,j)) … … 283 281 END DO 284 282 285 DO j = 2, jjm286 DO i = 1, iim283 DO j = 2, nbp_lat-1 284 DO i = 1, nbp_lon 287 285 tmou(1) = tmou(1) + rea**2*dlat*0.5*sin(zlat(j))*(zs(i+1,j)-zs(i,j))*( & 288 286 cos(zlon(i+1))*ps(i+1,j)+cos(zlon(i))*ps(i,j)) … … 298 296 299 297 l = 1 300 DO j = 2, jjm301 DO i = 1, iim298 DO j = 2, nbp_lat-1 299 DO i = 1, nbp_lon 302 300 l = l + 1 303 301 tsso(1) = tsso(1) - rea**3*cos(zlat(j))*dlon*dlat*ssou(i, j)*sin(zlat(j & … … 341 339 100 FORMAT (F12.5, 15(1X,F12.5)) 342 340 343 ! write(iam+1,*)((zs(i,j),i=1, iim),j=1,jjm+1)344 ! write(iam+1,*)((ps(i,j),i=1, iim),j=1,jjm+1)345 ! write(iam+1,*)((ub(i,j),i=1, iim),j=1,jjm+1)346 ! write(iam+1,*)((vb(i,j),i=1, iim),j=1,jjm+1)347 ! write(iam+1,*)((ssou(i,j),i=1, iim),j=1,jjm+1)348 ! write(iam+1,*)((ssov(i,j),i=1, iim),j=1,jjm+1)349 ! write(iam+1,*)((blsu(i,j),i=1, iim),j=1,jjm+1)350 ! write(iam+1,*)((blsv(i,j),i=1, iim),j=1,jjm+1)341 ! write(iam+1,*)((zs(i,j),i=1,nbp_lon),j=1,nbp_lat) 342 ! write(iam+1,*)((ps(i,j),i=1,nbp_lon),j=1,nbp_lat) 343 ! write(iam+1,*)((ub(i,j),i=1,nbp_lon),j=1,nbp_lat) 344 ! write(iam+1,*)((vb(i,j),i=1,nbp_lon),j=1,nbp_lat) 345 ! write(iam+1,*)((ssou(i,j),i=1,nbp_lon),j=1,nbp_lat) 346 ! write(iam+1,*)((ssov(i,j),i=1,nbp_lon),j=1,nbp_lat) 347 ! write(iam+1,*)((blsu(i,j),i=1,nbp_lon),j=1,nbp_lat) 348 ! write(iam+1,*)((blsv(i,j),i=1,nbp_lon),j=1,nbp_lat) 351 349 352 350 aam = raam(3) -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/add_pbl_tend.F90
r3809 r3818 15 15 USE phys_local_var_mod 16 16 USE phys_state_var_mod 17 USE mod_grid_phy_lmdz, ONLY: nbp_lev 17 18 IMPLICIT NONE 18 include "dimensions.h" 19 REAL hthturb_gcssold(llm) 20 REAL hqturb_gcssold(llm) 21 REAL dtime_frcg 19 REAL,SAVE,ALLOCATABLE :: hthturb_gcssold(:) 20 REAL,SAVE,ALLOCATABLE :: hqturb_gcssold(:) 21 !$OMP THREADPRIVATE(hthturb_gcssold,hqturb_gcssold) 22 REAL,SAVE :: dtime_frcg 23 LOGICAL,SAVE :: turb_fcg_gcssold 24 LOGICAL,SAVE :: firstcall=.true. 25 !$OMP THREADPRIVATE(firstcall,turb_fcg_gcssold,dtime_frcg) 22 26 INTEGER abortphy 23 LOGICAL turb_fcg_gcssold 24 COMMON /turb_forcing/dtime_frcg, hthturb_gcssold, hqturb_gcssold, & 25 turb_fcg_gcssold 27 ! COMMON /turb_forcing/dtime_frcg, hthturb_gcssold, hqturb_gcssold, & 28 ! turb_fcg_gcssold 26 29 27 30 ! Arguments : … … 36 39 REAL zzdt(klon, klev), zzdq(klon, klev) 37 40 INTEGER i, k 41 42 IF (firstcall) THEN 43 ALLOCATE(hthturb_gcssold(nbp_lev)) 44 ALLOCATE(hqturb_gcssold(nbp_lev)) 45 firstcall=.false. 46 ENDIF 38 47 39 48 IF (turb_fcg_gcssold) THEN -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/atm2geo.F90
r3809 r3818 6 6 USE mod_phys_lmdz_para 7 7 IMPLICIT NONE 8 INCLUDE 'dimensions.h'9 8 INCLUDE 'YOMCST.h' 10 9 ! -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/calltherm.F90
r3817 r3818 24 24 25 25 implicit none 26 #include "dimensions.h"27 !#include "dimphy.h"28 26 #include "thermcell.h" 29 27 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/calwake.F90
r3809 r3818 22 22 IMPLICIT NONE 23 23 ! ====================================================================== 24 include "dimensions.h"25 ! #include "dimphy.h"26 24 include "YOMCST.h" 27 25 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/conccm.F90
r3809 r3818 12 12 ! (schema standard du modele NCAR CCM2) 13 13 ! ====================================================================== 14 ! ym#include "dimensions.h"15 ! ym#include "dimphy.h"16 14 include "YOMCST.h" 17 15 include "YOETHF.h" … … 160 158 ! simplifier la lecture et la comprehension. 161 159 ! ----------------------------------------------------------------------- 162 ! ym#include "dimensions.h"163 ! ym#include "dimphy.h"164 160 INTEGER pcnst ! nombre de traceurs passifs 165 161 PARAMETER (pcnst=1) -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/concvl.F90
r3817 r3818 84 84 85 85 include "clesphys.h" 86 include "dimensions.h"87 86 88 87 INTEGER iflag_clos -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/conema3.F90
r3814 r3818 53 53 ! ====================================================================== 54 54 55 include "dimensions.h"56 55 include "conema3.h" 57 56 INTEGER i, l, m, itra -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/conemav.F90
r3814 r3818 41 41 ! Ice_flag-input-L-TRUE->prise en compte de la thermodynamique de la glace 42 42 ! ====================================================================== 43 44 include "dimensions.h"45 43 46 44 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/convect3.F90
r3814 r3818 18 18 USE infotrac_phy, ONLY: nbtr 19 19 IMPLICIT NONE 20 include "dimensions.h"21 20 INTEGER na 22 21 PARAMETER (na=60) -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/cva_driver.F90
r3817 r3818 152 152 ! ..............................END PROLOGUE............................. 153 153 154 155 include "dimensions.h"156 !!!!!#include "dimphy.h"157 158 159 154 ! Input 160 155 INTEGER len -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/diagphy.F90
r3809 r3818 50 50 IMPLICIT NONE 51 51 52 include "dimensions.h"53 ! cccc#include "dimphy.h"54 52 include "YOMCST.h" 55 53 include "YOETHF.h" … … 209 207 IMPLICIT NONE 210 208 211 include "dimensions.h"212 ! ccccc#include "dimphy.h"213 209 include "YOMCST.h" 214 210 include "YOETHF.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/fonte_neige_mod.F90
r3814 r3818 141 141 ! evap 142 142 ! 143 INCLUDE "dimensions.h"144 143 INCLUDE "YOETHF.h" 145 144 INCLUDE "YOMCST.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/geo2atm.F90
r3809 r3818 7 7 8 8 IMPLICIT NONE 9 INCLUDE 'dimensions.h'10 9 INCLUDE 'YOMCST.h' 11 10 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/hgardfou.F90
r3817 r3818 10 10 ! Verifier la temperature 11 11 ! ====================================================================== 12 include "dimensions.h"13 12 include "YOMCST.h" 14 13 REAL t(klon, klev), tsol(klon, nbsrf) -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/ini_histday_seri.h
r3809 r3818 13 13 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 14 14 ! 15 CALL gr_fi_ecrit(1,klon, iim,jjmp1,rlon,zx_lon)16 DO i = 1, iim15 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,rlon,zx_lon) 16 DO i = 1, nbp_lon 17 17 zx_lon(i,1) = rlon(i+1) 18 18 zx_lon(i,jjmp1) = rlon(i+1) … … 21 21 znivsig(ll)=REAL(ll) 22 22 ENDDO 23 CALL gr_fi_ecrit(1,klon, iim,jjmp1,rlat,zx_lat)23 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,rlat,zx_lat) 24 24 ! 25 25 imin_debut=1 … … 29 29 ! 30 30 CALL histbeg("histday_seri.nc", & 31 iim,zx_lon(:,1), jjmp1,zx_lat(1,:), &31 nbp_lon,zx_lon(:,1), jjmp1,zx_lat(1,:), & 32 32 imin_debut,nbpti,jmin_debut,nbptj, & 33 33 itau_phy, zjulian, dtime, & … … 40 40 CALL histdef(nid_day_seri, "bilTOA", & 41 41 "Net radiation at model top", "W/m2", & 42 iim,jjmp1,nhori, 1,1,1, -99, 32, &42 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 43 43 "ave(X)", zstophy,zout) 44 44 ! 45 45 CALL histdef(nid_day_seri, "bils", & 46 46 "Net downward energy flux at surface","W/m2", & 47 iim,jjmp1,nhori, 1,1,1, -99, 32, &47 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 48 48 "ave(X)", zstophy,zout) 49 49 ! 50 50 CALL histdef(nid_day_seri, "ecin", & 51 51 "Total kinetic energy (per unit area)","J/m2", & 52 iim,jjmp1,nhori, 1,1,1, -99, 32, &52 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 53 53 "ave(X)", zstophy,zout) 54 54 ! … … 59 59 "Total relative angular momentum (per unit area)", & 60 60 "kg/s", & 61 iim,jjmp1,nhori, 1,1,1, -99, 32, &61 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 62 62 "ave(X)", zstophy,zout) 63 63 ! 64 64 CALL histdef(nid_day_seri, "frictor", & 65 65 "Friction torque (per unit area)", "N/m", & 66 iim,jjmp1,nhori, 1,1,1, -99, 32, &66 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 67 67 "ave(X)", zstophy,zout) 68 68 ! 69 69 CALL histdef(nid_day_seri, "mountor", & 70 70 "Mountain torque (per unit area)", "N/m", & 71 iim,jjmp1,nhori, 1,1,1, -99, 32, &71 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 72 72 "ave(X)", zstophy,zout) 73 73 ! … … 77 77 "Axial angular momentum (per unit area)", & 78 78 "kg/s", & 79 iim,jjmp1,nhori, 1,1,1, -99, 32, &79 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 80 80 "ave(X)", zstophy,zout) 81 81 ! 82 82 CALL histdef(nid_day_seri, "torsfc", & 83 83 "Total surface torque (including mountain torque)", "N/m", & 84 iim,jjmp1,nhori, 1,1,1, -99, 32, &84 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 85 85 "ave(X)", zstophy,zout) 86 86 ! … … 89 89 CALL histdef(nid_day_seri, "tamv", & 90 90 "Temperature (mass-weighted vert. ave)", "K", & 91 iim,jjmp1,nhori, 1,1,1, -99, 32, &91 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 92 92 "ave(X)", zstophy,zout) 93 93 ! 94 94 CALL histdef(nid_day_seri, "psol", & 95 95 "Surface pressure", "Pa", & 96 iim,jjmp1,nhori, 1,1,1, -99, 32, &96 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 97 97 "ave(X)", zstophy,zout) 98 98 ! … … 100 100 "Evaporation and sublimation (per unit area)", & 101 101 "kg/(m2*s)", & 102 iim,jjmp1,nhori, 1,1,1, -99, 32, &102 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 103 103 "ave(X)", zstophy,zout) 104 104 ! … … 106 106 ! . "SnowFrac", 107 107 ! . "Snow-covered area ", "%", 108 ! . iim,jjmp1,nhori, 1,1,1, -99, 32,108 ! . nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, 109 109 ! . "ave(X)", zstophy,zout) 110 110 ! … … 113 113 !IM 191104 . "Snow Depth (water equivalent)", "kg/m2", 114 114 ! . "Snow Mass", "kg/m2", 115 ! . iim,jjmp1,nhori, 1,1,1, -99, 32,115 ! . nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, 116 116 ! . "ave(X)", zstophy,zout) 117 117 ! … … 119 119 "tsol_"//clnsurf(is_oce), & 120 120 "SST over open (ice-free) ocean ", "K", & 121 iim,jjmp1,nhori, 1,1,1, -99, 32, &121 nbp_lon,jjmp1,nhori, 1,1,1, -99, 32, & 122 122 "ave(X)", zstophy,zout) 123 123 ! -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/ini_paramLMDZ_phy.h
r3809 r3818 15 15 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 16 16 ! 17 CALL gr_fi_ecrit(1,klon, iim,jjmp1,rlon_glo,zx_lon)18 if ( iim.gt.1) then19 DO i = 1, iim17 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlon_glo,zx_lon) 18 if (nbp_lon.gt.1) then 19 DO i = 1, nbp_lon 20 20 zx_lon(i,1) = rlon_glo(i+1) 21 zx_lon(i, jjmp1) = rlon_glo(i+1)21 zx_lon(i,nbp_lat) = rlon_glo(i+1) 22 22 ENDDO 23 23 endif 24 CALL gr_fi_ecrit(1,klon, iim,jjmp1,rlat_glo,zx_lat)24 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlat_glo,zx_lat) 25 25 ! 26 26 CALL histbeg("paramLMDZ_phy.nc", & -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/initphysto.F90
r3816 r3818 13 13 !USE temps_phy_mod 14 14 USE inifis_mod, ONLY: day_ref, annee_ref 15 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev 15 16 16 17 IMPLICIT NONE … … 42 43 ! 43 44 ! Declarations 44 INCLUDE "dimensions.h"45 45 INCLUDE "description.h" 46 46 … … 55 55 INTEGER nhoriid, i 56 56 INTEGER l,k 57 REAL nivsigs( llm)57 REAL nivsigs(nbp_lev) 58 58 INTEGER tau0 59 59 REAL zjulian … … 63 63 INTEGER zan, idayref 64 64 LOGICAL ok_sync 65 REAL zx_lon( iim,jjm+1), zx_lat(iim,jjm+1)65 REAL zx_lon(nbp_lon,nbp_lat), zx_lat(nbp_lon,nbp_lat) 66 66 CHARACTER(len=12) :: nvar 67 67 … … 84 84 ! Appel a histvert pour la grille verticale 85 85 ! 86 DO l=1, llm86 DO l=1,nbp_lev 87 87 nivsigs(l)=REAL(l) 88 88 ENDDO … … 90 90 CALL histvert(fileid, 'sig_s', 'Niveaux sigma', & 91 91 'sigma_level', & 92 llm, nivsigs, zvertiid)92 nbp_lev, nivsigs, zvertiid) 93 93 ! 94 94 ! Appels a histdef pour la definition des variables a sauvegarder 95 95 ! 96 96 CALL histdef(fileid, "phis", "Surface geop. height", "-", & 97 iim,jj_nb,nhoriid, 1,1,1, -99, 32, &97 nbp_lon,jj_nb,nhoriid, 1,1,1, -99, 32, & 98 98 "once", t_ops, t_wrt) 99 99 100 100 CALL histdef(fileid, "aire", "Grid area", "-", & 101 iim,jj_nb,nhoriid, 1,1,1, -99, 32, &101 nbp_lon,jj_nb,nhoriid, 1,1,1, -99, 32, & 102 102 "once", t_ops, t_wrt) 103 103 104 104 CALL histdef(fileid, "longitudes", "longitudes", "-", & 105 iim,jj_nb,nhoriid, 1,1,1, -99, 32, &105 nbp_lon,jj_nb,nhoriid, 1,1,1, -99, 32, & 106 106 "once", t_ops, t_wrt) 107 107 108 108 CALL histdef(fileid, "latitudes", "latitudes", "-", & 109 iim,jj_nb,nhoriid, 1,1,1, -99, 32, &109 nbp_lon,jj_nb,nhoriid, 1,1,1, -99, 32, & 110 110 "once", t_ops, t_wrt) 111 111 ! T 112 CALL histdef(fileid, 't', 'Temperature', 'K', iim, jj_nb, nhoriid, &113 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)112 CALL histdef(fileid, 't', 'Temperature', 'K', nbp_lon, jj_nb, nhoriid, & 113 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 114 114 ! mfu 115 CALL histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s', iim, jj_nb, nhoriid, &116 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)115 CALL histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s',nbp_lon, jj_nb, nhoriid, & 116 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 117 117 ! mfd 118 CALL histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s', iim, jj_nb, nhoriid, &119 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)118 CALL histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s',nbp_lon, jj_nb, nhoriid, & 119 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 120 120 ! en_u 121 CALL histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s', iim, jj_nb, nhoriid, &122 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)121 CALL histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s', nbp_lon, jj_nb, nhoriid, & 122 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 123 123 ! de_u 124 CALL histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s', iim, jj_nb, nhoriid, &125 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)124 CALL histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s',nbp_lon, jj_nb, nhoriid, & 125 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 126 126 ! en_d 127 CALL histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s', iim, jj_nb, nhoriid, &128 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)127 CALL histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s', nbp_lon, jj_nb, nhoriid, & 128 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 129 129 ! de_d 130 CALL histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s', iim, jj_nb, nhoriid, &131 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)130 CALL histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s', nbp_lon, jj_nb, nhoriid, & 131 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 132 132 ! coefh 133 CALL histdef(fileid, "coefh", " ", " ", iim, jj_nb, nhoriid, &134 llm, 1, llm, zvertiid,32, "inst(X)", t_ops, t_wrt)133 CALL histdef(fileid, "coefh", " ", " ", nbp_lon, jj_nb, nhoriid, & 134 nbp_lev, 1, nbp_lev, zvertiid,32, "inst(X)", t_ops, t_wrt) 135 135 ! fm_th 136 CALL histdef(fileid, "fm_th", " ", " ", iim, jj_nb, nhoriid, &137 llm, 1, llm, zvertiid,32, "inst(X)", t_ops, t_wrt)136 CALL histdef(fileid, "fm_th", " ", " ",nbp_lon, jj_nb, nhoriid, & 137 nbp_lev, 1, nbp_lev, zvertiid,32, "inst(X)", t_ops, t_wrt) 138 138 ! en_th 139 CALL histdef(fileid, "en_th", " ", " ", iim, jj_nb, nhoriid, &140 llm, 1, llm, zvertiid,32, "inst(X)", t_ops, t_wrt)139 CALL histdef(fileid, "en_th", " ", " ",nbp_lon, jj_nb, nhoriid, & 140 nbp_lev, 1, nbp_lev, zvertiid,32, "inst(X)", t_ops, t_wrt) 141 141 ! frac_impa 142 CALL histdef(fileid, 'frac_impa', ' ', ' ', iim, jj_nb, nhoriid, &143 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)142 CALL histdef(fileid, 'frac_impa', ' ', ' ',nbp_lon, jj_nb, nhoriid, & 143 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 144 144 ! frac_nucl 145 CALL histdef(fileid, 'frac_nucl', ' ', ' ', iim, jj_nb, nhoriid, &146 llm, 1, llm, zvertiid,32, 'inst(X)', t_ops, t_wrt)145 CALL histdef(fileid, 'frac_nucl', ' ', ' ',nbp_lon, jj_nb, nhoriid, & 146 nbp_lev, 1, nbp_lev, zvertiid,32, 'inst(X)', t_ops, t_wrt) 147 147 ! pyu1 148 CALL histdef(fileid, "pyu1", " ", " ", iim,jj_nb,nhoriid, &148 CALL histdef(fileid, "pyu1", " ", " ", nbp_lon,jj_nb,nhoriid, & 149 149 1,1,1, -99, 32, "inst(X)", t_ops, t_wrt) 150 150 ! pyv1 151 CALL histdef(fileid, "pyv1", " ", " ", iim,jj_nb,nhoriid, &151 CALL histdef(fileid, "pyv1", " ", " ", nbp_lon,jj_nb,nhoriid, & 152 152 1,1,1, -99, 32,"inst(X)", t_ops, t_wrt) 153 153 ! ftsol1 154 CALL histdef(fileid, "ftsol1", " ", " ", iim, jj_nb, nhoriid, &154 CALL histdef(fileid, "ftsol1", " ", " ",nbp_lon, jj_nb, nhoriid, & 155 155 1, 1,1, -99,32, "inst(X)", t_ops, t_wrt) 156 156 ! ftsol2 157 CALL histdef(fileid, "ftsol2", " ", " ", iim, jj_nb, nhoriid, &157 CALL histdef(fileid, "ftsol2", " ", " ",nbp_lon, jj_nb, nhoriid, & 158 158 1, 1,1, -99,32, "inst(X)", t_ops, t_wrt) 159 159 ! ftsol3 160 CALL histdef(fileid, "ftsol3", " ", " ", iim, jj_nb, nhoriid, &160 CALL histdef(fileid, "ftsol3", " ", " ", nbp_lon, jj_nb, nhoriid, & 161 161 1, 1,1, -99,32, "inst(X)", t_ops, t_wrt) 162 162 ! ftsol4 163 CALL histdef(fileid, "ftsol4", " ", " ", iim, jj_nb, nhoriid, &163 CALL histdef(fileid, "ftsol4", " ", " ",nbp_lon, jj_nb, nhoriid, & 164 164 1, 1,1, -99, 32, "inst(X)", t_ops, t_wrt) 165 165 ! psrf1 166 CALL histdef(fileid, "psrf1", " ", " ", iim, jj_nb, nhoriid, &166 CALL histdef(fileid, "psrf1", " ", " ",nbp_lon, jj_nb, nhoriid, & 167 167 1, 1, 1, -99,32, "inst(X)", t_ops, t_wrt) 168 168 ! psrf2 169 CALL histdef(fileid, "psrf2", " ", " ", iim, jj_nb, nhoriid, &169 CALL histdef(fileid, "psrf2", " ", " ",nbp_lon, jj_nb, nhoriid, & 170 170 1, 1, 1, -99, 32, "inst(X)", t_ops, t_wrt) 171 171 ! psrf3 172 CALL histdef(fileid, "psrf3", " ", " ", iim, jj_nb, nhoriid, &172 CALL histdef(fileid, "psrf3", " ", " ",nbp_lon, jj_nb, nhoriid, & 173 173 1, 1, 1, -99, 32, "inst(X)", t_ops, t_wrt) 174 174 ! psrf4 175 CALL histdef(fileid, "psrf4", " ", " ", iim, jj_nb, nhoriid, &175 CALL histdef(fileid, "psrf4", " ", " ", nbp_lon, jj_nb, nhoriid, & 176 176 1, 1, 1, -99,32, "inst(X)", t_ops, t_wrt) 177 177 ! sh 178 CALL histdef(fileid, 'sh', '', '', iim, jj_nb, nhoriid, &179 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)178 CALL histdef(fileid, 'sh', '', '', nbp_lon, jj_nb, nhoriid, & 179 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 180 180 ! da 181 CALL histdef(fileid, 'da', '', '', iim, jj_nb, nhoriid, &182 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)181 CALL histdef(fileid, 'da', '', '', nbp_lon, jj_nb, nhoriid, & 182 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 183 183 ! mp 184 CALL histdef(fileid, 'mp', '', '', iim, jj_nb, nhoriid, &185 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)184 CALL histdef(fileid, 'mp', '', '', nbp_lon, jj_nb, nhoriid, & 185 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 186 186 ! upwd 187 CALL histdef(fileid, 'upwd', '', '', iim, jj_nb, nhoriid, &188 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)187 CALL histdef(fileid, 'upwd', '', '', nbp_lon, jj_nb, nhoriid, & 188 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 189 189 ! dnwd 190 CALL histdef(fileid, 'dnwd', '', '', iim, jj_nb, nhoriid, &191 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)190 CALL histdef(fileid, 'dnwd', '', '', nbp_lon, jj_nb, nhoriid, & 191 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 192 192 193 193 ! phi 194 DO k=1, llm194 DO k=1,nbp_lev 195 195 IF (k<10) THEN 196 196 WRITE(nvar,'(i1)') k … … 202 202 nvar='phi_lev'//trim(nvar) 203 203 204 CALL histdef(fileid, nvar, '', '', iim, jj_nb, nhoriid, &205 llm, 1, llm, zvertiid, 32, 'inst(X)', t_ops, t_wrt)204 CALL histdef(fileid, nvar, '', '', nbp_lon, jj_nb, nhoriid, & 205 nbp_lev, 1, nbp_lev, zvertiid, 32, 'inst(X)', t_ops, t_wrt) 206 206 END DO 207 207 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/limit_slab.F90
r3814 r3818 12 12 13 13 INCLUDE "clesphys.h" 14 INCLUDE "dimensions.h"15 14 16 15 ! In- and ouput arguments -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/lsc_scav.F90
r3814 r3818 20 20 !===================================================================== 21 21 22 include "dimensions.h"23 22 include "chem.h" 24 23 include "YOMCST.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/moyglo_aire.F90
r3809 r3818 16 16 ! ================================================================== 17 17 18 include "dimensions.h"19 ! ym#include "dimphy.h"20 18 INTEGER i, nhori 21 19 REAL champ(klon), aire(klon), msk(klon) … … 74 72 75 73 ! ================================================================== 76 include "dimensions.h"77 ! ym#include "dimphy.h"78 74 include "YOMCST.h" 79 75 INTEGER i, k, nhori, nvert … … 119 115 120 116 ! ================================================================== 121 include "dimensions.h"122 ! ym#include "dimphy.h"123 117 include "YOMCST.h" 124 118 INTEGER i, k, nhori, nvert -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/pbl_surface_mod.F90
r3817 r3818 263 263 ! USE temps_phy_mod 264 264 USE inifis_mod, ONLY: annee_ref, day_ini, itau_phy, lunout, prt_level 265 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat 265 266 IMPLICIT NONE 266 267 … … 271 272 INCLUDE "clesphys.h" 272 273 INCLUDE "compbl.h" 273 INCLUDE "dimensions.h"274 274 INCLUDE "flux_arp.h" 275 275 !**************************************************************************************** … … 732 732 733 733 ! For debugging with IOIPSL 734 INTEGER, DIMENSION( iim*(jjm+1)) :: ndexbg734 INTEGER, DIMENSION(nbp_lon*nbp_lat) :: ndexbg 735 735 REAL :: zjulian 736 736 REAL, DIMENSION(klon) :: tabindx 737 REAL, DIMENSION( iim,jjm+1) :: zx_lon, zx_lat738 REAL, DIMENSION( iim,jjm+1) :: debugtab737 REAL, DIMENSION(nbp_lon,nbp_lat) :: zx_lon, zx_lat 738 REAL, DIMENSION(nbp_lon,nbp_lat) :: debugtab 739 739 740 740 … … 793 793 idayref = day_ini 794 794 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 795 CALL gr_fi_ecrit(1,klon, iim,jjm+1,rlon,zx_lon)796 DO i = 1, iim795 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlon,zx_lon) 796 DO i = 1, nbp_lon 797 797 zx_lon(i,1) = rlon(i+1) 798 zx_lon(i, jjm+1) = rlon(i+1)798 zx_lon(i,nbp_lat) = rlon(i+1) 799 799 ENDDO 800 CALL gr_fi_ecrit(1,klon, iim,jjm+1,rlat,zx_lat)801 CALL histbeg("sous_index", iim,zx_lon(:,1),jjm+1,zx_lat(1,:), &802 1, iim,1,jjm+1, &800 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,rlat,zx_lat) 801 CALL histbeg("sous_index",nbp_lon,zx_lon(:,1),nbp_lat,zx_lat(1,:), & 802 1,nbp_lon,1,nbp_lat, & 803 803 itau_phy,zjulian,dtime,nhoridbg,nidbg) 804 804 ! no vertical axis … … 808 808 cl_surf(4)='sic' 809 809 DO nsrf=1,nbsrf 810 CALL histdef(nidbg, cl_surf(nsrf),cl_surf(nsrf), "-", iim, &811 jjm+1,nhoridbg, 1, 1, 1, -99, 32, "inst", dtime,dtime)810 CALL histdef(nidbg, cl_surf(nsrf),cl_surf(nsrf), "-",nbp_lon, & 811 nbp_lat,nhoridbg, 1, 1, 1, -99, 32, "inst", dtime,dtime) 812 812 END DO 813 813 … … 1143 1143 ndexbg(:) = 0 1144 1144 CALL gath2cpl(tabindx,debugtab,knon,ni) 1145 CALL histwrite(nidbg,cl_surf(nsrf),itap,debugtab, iim*(jjm+1), ndexbg)1145 CALL histwrite(nidbg,cl_surf(nsrf),itap,debugtab,nbp_lon*nbp_lat, ndexbg) 1146 1146 ENDIF 1147 1147 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/phyaqua_mod.F90
r3816 r3818 35 35 IMPLICIT NONE 36 36 37 include "dimensions.h"38 37 ! #include "dimphy.h" 39 38 ! #include "YOMCST.h" … … 496 495 USE mod_phys_lmdz_transfert_para, ONLY: gather 497 496 IMPLICIT NONE 498 ! #include "dimensions.h" 499 ! #include "dimphy.h" 497 500 498 include "netcdf.inc" 501 499 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/phyetat0.F90
r3817 r3818 34 34 ! Objet: Lecture de l'etat initial pour la physique 35 35 !====================================================================== 36 include "dimensions.h"37 36 include "netcdf.inc" 38 37 include "dimsoil.h" … … 76 75 ! FH1D 77 76 ! real iolat(jjm+1) 78 real iolat(jjm+1-1/(iim*jjm))77 !real iolat(jjm+1-1/(iim*jjm)) 79 78 80 79 ! Ouvrir le fichier contenant l'etat initial: -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/physiq.F90
r3817 r3818 51 51 annee_ref, day_ref, itau_phy, jD_ref, start_time, & 52 52 prt_level, lunout 53 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev 53 54 #ifdef REPROBUS 54 55 USE CHEM_REP, ONLY : Init_chem_rep_xjour … … 109 110 !! d_ps----output-R-tendance physique de la pression au sol 110 111 !!====================================================================== 111 include "dimensions.h"112 ! include "dimensions.h" 112 113 integer jjmp1 113 parameter (jjmp1=jjm+1-1/jjm)114 integer iip1115 parameter (iip1=iim+1)114 ! parameter (jjmp1=jjm+1-1/jjm) ! => (jjmp1=nbp_lat-1/(nbp_lat-1)) 115 ! integer iip1 116 ! parameter (iip1=iim+1) ! => (iip1=nbp_lon+1) 116 117 117 118 include "regdim.h" … … 485 486 SAVE lmt_pas ! frequence de mise a jour 486 487 !$OMP THREADPRIVATE(lmt_pas) 487 real zmasse(klon, llm),exner(klon, llm)488 real zmasse(klon, nbp_lev),exner(klon, nbp_lev) 488 489 ! (column-density of mass of air in a cell, in kg m-2) 489 490 real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 … … 664 665 REAL tabcntr0( length ) 665 666 ! 666 INTEGER ndex2d( iim*jjmp1)667 INTEGER ndex2d(nbp_lon*(nbp_lat-1/(nbp_lat-1))) 667 668 !IM 668 669 ! … … 677 678 !IM 141004 END 678 679 !IM 190504 BEG 679 INTEGER ij, imp1jmp1 680 PARAMETER(imp1jmp1=(iim+1)*jjmp1) 680 INTEGER ij 681 ! INTEGER imp1jmp1 682 ! PARAMETER(imp1jmp1=(iim+1)*jjmp1) ! => (imp1jmp1=(nbp_lon+1)*(nbp_lat-1/(nbp_lat-1))) 681 683 !ym A voir plus tard 682 REAL zx_tmp(imp1jmp1), airedyn(iim+1,jjmp1) 683 REAL padyn(iim+1,jjmp1,klev+1) 684 REAL dudyn(iim+1,jjmp1,klev) 685 REAL rlatdyn(iim+1,jjmp1) 684 REAL zx_tmp((nbp_lon+1)*(nbp_lat-1/(nbp_lat-1))) 685 REAL airedyn(nbp_lon+1,nbp_lat-1/(nbp_lat-1)) 686 REAL padyn(nbp_lon+1,nbp_lat-1/(nbp_lat-1),klev+1) 687 REAL dudyn(nbp_lon+1,nbp_lat-1/(nbp_lat-1),klev) 688 REAL rlatdyn(nbp_lon+1,nbp_lat-1/(nbp_lat-1)) 686 689 !IM 190504 END 687 690 LOGICAL ok_msk … … 695 698 REAL zx_tmp_fi2d(klon) ! variable temporaire grille physique 696 699 REAL zx_tmp_fi3d(klon,klev) ! variable temporaire pour champs 3D 697 REAL zx_tmp_2d(iim,jjmp1) 698 REAL zx_lon(iim,jjmp1), zx_lat(iim,jjmp1) 700 REAL zx_tmp_2d(nbp_lon,nbp_lat-1/(nbp_lat-1)) 701 REAL zx_lon(nbp_lon,nbp_lat-1/(nbp_lat-1)) 702 REAL zx_lat(nbp_lon,nbp_lat-1/(nbp_lat-1)) 699 703 ! 700 704 INTEGER nid_day_seri, nid_ctesGCM … … 871 875 !albedo SB <<< 872 876 877 ! Ehouarn: set value of jjmp1 since it is no longer a "fixed parameter" 878 jjmp1=nbp_lat-1/(nbp_lat-1) ! -1/(nbp_lat-1) to handle 1D case 879 873 880 !====================================================================== 874 881 ! Gestion calendrier : mise a jour du module phys_cal_mod … … 960 967 961 968 torsfc=0. 962 forall (k=1: llm) zmasse(:, k) = (paprs(:, k)-paprs(:, k+1)) / rg969 forall (k=1: nbp_lev) zmasse(:, k) = (paprs(:, k)-paprs(:, k+1)) / rg 963 970 964 971 … … 1792 1799 1793 1800 if (mydebug) then 1794 call writefield_phy('u_seri',u_seri, llm)1795 call writefield_phy('v_seri',v_seri, llm)1796 call writefield_phy('t_seri',t_seri, llm)1797 call writefield_phy('q_seri',q_seri, llm)1801 call writefield_phy('u_seri',u_seri,nbp_lev) 1802 call writefield_phy('v_seri',v_seri,nbp_lev) 1803 call writefield_phy('t_seri',t_seri,nbp_lev) 1804 call writefield_phy('q_seri',q_seri,nbp_lev) 1798 1805 endif 1799 1806 … … 1924 1931 1925 1932 if (mydebug) then 1926 call writefield_phy('u_seri',u_seri, llm)1927 call writefield_phy('v_seri',v_seri, llm)1928 call writefield_phy('t_seri',t_seri, llm)1929 call writefield_phy('q_seri',q_seri, llm)1933 call writefield_phy('u_seri',u_seri,nbp_lev) 1934 call writefield_phy('v_seri',v_seri,nbp_lev) 1935 call writefield_phy('t_seri',t_seri,nbp_lev) 1936 call writefield_phy('q_seri',q_seri,nbp_lev) 1930 1937 endif 1931 1938 … … 2362 2369 2363 2370 if (mydebug) then 2364 call writefield_phy('u_seri',u_seri, llm)2365 call writefield_phy('v_seri',v_seri, llm)2366 call writefield_phy('t_seri',t_seri, llm)2367 call writefield_phy('q_seri',q_seri, llm)2371 call writefield_phy('u_seri',u_seri,nbp_lev) 2372 call writefield_phy('v_seri',v_seri,nbp_lev) 2373 call writefield_phy('t_seri',t_seri,nbp_lev) 2374 call writefield_phy('q_seri',q_seri,nbp_lev) 2368 2375 endif 2369 2376 … … 2931 2938 2932 2939 if (mydebug) then 2933 call writefield_phy('u_seri',u_seri, llm)2934 call writefield_phy('v_seri',v_seri, llm)2935 call writefield_phy('t_seri',t_seri, llm)2936 call writefield_phy('q_seri',q_seri, llm)2940 call writefield_phy('u_seri',u_seri,nbp_lev) 2941 call writefield_phy('v_seri',v_seri,nbp_lev) 2942 call writefield_phy('t_seri',t_seri,nbp_lev) 2943 call writefield_phy('q_seri',q_seri,nbp_lev) 2937 2944 endif 2938 2945 … … 3391 3398 3392 3399 if (mydebug) then 3393 call writefield_phy('u_seri',u_seri, llm)3394 call writefield_phy('v_seri',v_seri, llm)3395 call writefield_phy('t_seri',t_seri, llm)3396 call writefield_phy('q_seri',q_seri, llm)3400 call writefield_phy('u_seri',u_seri,nbp_lev) 3401 call writefield_phy('v_seri',v_seri,nbp_lev) 3402 call writefield_phy('t_seri',t_seri,nbp_lev) 3403 call writefield_phy('q_seri',q_seri,nbp_lev) 3397 3404 endif 3398 3405 … … 3567 3574 ! 3568 3575 if (mydebug) then 3569 call writefield_phy('u_seri',u_seri, llm)3570 call writefield_phy('v_seri',v_seri, llm)3571 call writefield_phy('t_seri',t_seri, llm)3572 call writefield_phy('q_seri',q_seri, llm)3576 call writefield_phy('u_seri',u_seri,nbp_lev) 3577 call writefield_phy('v_seri',v_seri,nbp_lev) 3578 call writefield_phy('t_seri',t_seri,nbp_lev) 3579 call writefield_phy('q_seri',q_seri,nbp_lev) 3573 3580 endif 3574 3581 … … 3652 3659 ! 3653 3660 if (mydebug) then 3654 call writefield_phy('u_seri',u_seri, llm)3655 call writefield_phy('v_seri',v_seri, llm)3656 call writefield_phy('t_seri',t_seri, llm)3657 call writefield_phy('q_seri',q_seri, llm)3661 call writefield_phy('u_seri',u_seri,nbp_lev) 3662 call writefield_phy('v_seri',v_seri,nbp_lev) 3663 call writefield_phy('t_seri',t_seri,nbp_lev) 3664 call writefield_phy('q_seri',q_seri,nbp_lev) 3658 3665 endif 3659 3666 … … 3721 3728 3722 3729 if (mydebug) then 3723 call writefield_phy('u_seri',u_seri, llm)3724 call writefield_phy('v_seri',v_seri, llm)3725 call writefield_phy('t_seri',t_seri, llm)3726 call writefield_phy('q_seri',q_seri, llm)3730 call writefield_phy('u_seri',u_seri,nbp_lev) 3731 call writefield_phy('v_seri',v_seri,nbp_lev) 3732 call writefield_phy('t_seri',t_seri,nbp_lev) 3733 call writefield_phy('q_seri',q_seri,nbp_lev) 3727 3734 endif 3728 3735 … … 3893 3900 3894 3901 d_t_ec(:,:)=0. 3895 forall (k=1: llm) exner(:, k) = (pplay(:, k)/paprs(:,1))**RKAPPA3902 forall (k=1: nbp_lev) exner(:, k) = (pplay(:, k)/paprs(:,1))**RKAPPA 3896 3903 CALL ener_conserv(klon,klev,pdtphys,u,v,t,qx(:,:,ivap), & 3897 3904 u_seri,v_seri,t_seri,q_seri,pbl_tke(:,:,is_ave)-tke0(:,:), & … … 3977 3984 ! 3978 3985 if (mydebug) then 3979 call writefield_phy('u_seri',u_seri, llm)3980 call writefield_phy('v_seri',v_seri, llm)3981 call writefield_phy('t_seri',t_seri, llm)3982 call writefield_phy('q_seri',q_seri, llm)3986 call writefield_phy('u_seri',u_seri,nbp_lev) 3987 call writefield_phy('v_seri',v_seri,nbp_lev) 3988 call writefield_phy('t_seri',t_seri,nbp_lev) 3989 call writefield_phy('q_seri',q_seri,nbp_lev) 3983 3990 endif 3984 3991 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/phystokenc.F90
r3817 r3818 22 22 ! 23 23 !====================================================================== 24 INCLUDE "dimensions.h"25 24 ! INCLUDE "tracstoke.h" 26 25 !====================================================================== … … 62 61 ! 63 62 REAL rlon(klon), rlat(klon), dtime 64 REAL zx_tmp_3d(iim,jjm+1,klev),zx_tmp_2d(iim,jjm+1)65 63 66 64 ! Couche limite: -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/phytrac_mod.F90
r3817 r3818 106 106 107 107 INCLUDE "YOMCST.h" 108 INCLUDE "dimensions.h"109 108 INCLUDE "clesphys.h" 110 109 INCLUDE "thermcell.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/surf_land_orchidee_mod.F90
r3817 r3818 46 46 USE indice_sol_mod 47 47 USE inifis_mod, ONLY: lunout 48 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat 48 49 49 50 ! … … 100 101 ! 101 102 INCLUDE "YOMCST.h" 102 INCLUDE "dimensions.h"103 103 104 104 ! … … 229 229 DO igrid = 2, klon - 1 230 230 indi = indi + 1 231 IF ( indi > iim) THEN231 IF ( indi > nbp_lon) THEN 232 232 indi = 1 233 233 indj = indj + 1 … … 237 237 ENDDO 238 238 ig(klon) = 1 239 jg(klon) = jjm + 1239 jg(klon) = nbp_lat 240 240 241 241 IF ((.NOT. ALLOCATED(lalo))) THEN … … 247 247 ENDIF 248 248 IF ((.NOT. ALLOCATED(lon_scat))) THEN 249 ALLOCATE(lon_scat( iim,jjm+1), stat = error)249 ALLOCATE(lon_scat(nbp_lon,nbp_lat), stat = error) 250 250 IF (error /= 0) THEN 251 251 abort_message='Pb allocation lon_scat' … … 254 254 ENDIF 255 255 IF ((.NOT. ALLOCATED(lat_scat))) THEN 256 ALLOCATE(lat_scat( iim,jjm+1), stat = error)256 ALLOCATE(lat_scat(nbp_lon,nbp_lat), stat = error) 257 257 IF (error /= 0) THEN 258 258 abort_message='Pb allocation lat_scat' … … 275 275 IF (is_mpi_root) THEN 276 276 index = 1 277 DO jj = 2, jjm278 DO ij = 1, iim277 DO jj = 2, nbp_lat-1 278 DO ij = 1, nbp_lon 279 279 index = index + 1 280 280 lon_scat(ij,jj) = rlon_g(index) … … 284 284 lon_scat(:,1) = lon_scat(:,2) 285 285 lat_scat(:,1) = rlat_g(1) 286 lon_scat(:, jjm+1) = lon_scat(:,2)287 lat_scat(:, jjm+1) = rlat_g(klon_glo)286 lon_scat(:,nbp_lat) = lon_scat(:,2) 287 lat_scat(:,nbp_lat) = rlat_g(klon_glo) 288 288 ENDIF 289 289 … … 395 395 396 396 #ifdef CPP_VEGET 397 CALL intersurf_main (itime+itau_phy-1, iim, jjm+1, knon, ktindex, dtime, &397 CALL intersurf_main (itime+itau_phy-1,nbp_lon,nbp_lat, knon, ktindex, dtime, & 398 398 lrestart_read, lrestart_write, lalo, & 399 399 contfrac, neighbours, resolution, date0, & … … 419 419 IF (knon > 0) THEN 420 420 #ifdef CPP_VEGET 421 CALL intersurf_main (itime+itau_phy, iim, jjm+1, knon, ktindex, dtime, &421 CALL intersurf_main (itime+itau_phy,nbp_lon,nbp_lat, knon, ktindex, dtime, & 422 422 lrestart_read, lrestart_write, lalo, & 423 423 contfrac, neighbours, resolution, date0, & -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/surf_land_orchidee_noopenmp_mod.F90
r3817 r3818 98 98 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl, fco2_land_inst, fco2_lu_inst 99 99 USE indice_sol_mod 100 ! USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat 100 101 IMPLICIT NONE 101 102 102 INCLUDE "temps.h"103 103 INCLUDE "YOMCST.h" 104 INCLUDE "dimensions.h"105 104 106 105 ! … … 231 230 DO igrid = 2, klon - 1 232 231 indi = indi + 1 233 IF ( indi > iim) THEN232 IF ( indi > nbp_lon) THEN 234 233 indi = 1 235 234 indj = indj + 1 … … 239 238 ENDDO 240 239 ig(klon) = 1 241 jg(klon) = jjm + 1240 jg(klon) = nbp_lat 242 241 243 242 IF ((.NOT. ALLOCATED(lalo))) THEN … … 249 248 ENDIF 250 249 IF ((.NOT. ALLOCATED(lon_scat))) THEN 251 ALLOCATE(lon_scat( iim,jjm+1), stat = error)250 ALLOCATE(lon_scat(nbp_lon,nbp_lat), stat = error) 252 251 IF (error /= 0) THEN 253 252 abort_message='Pb allocation lon_scat' … … 256 255 ENDIF 257 256 IF ((.NOT. ALLOCATED(lat_scat))) THEN 258 ALLOCATE(lat_scat( iim,jjm+1), stat = error)257 ALLOCATE(lat_scat(nbp_lon,nbp_lat), stat = error) 259 258 IF (error /= 0) THEN 260 259 abort_message='Pb allocation lat_scat' … … 277 276 IF (is_mpi_root) THEN 278 277 index = 1 279 DO jj = 2, jjm280 DO ij = 1, iim278 DO jj = 2, nbp_lat -1 279 DO ij = 1, nbp_lon 281 280 index = index + 1 282 281 lon_scat(ij,jj) = rlon_g(index) … … 286 285 lon_scat(:,1) = lon_scat(:,2) 287 286 lat_scat(:,1) = rlat_g(1) 288 lon_scat(:, jjm+1) = lon_scat(:,2)289 lat_scat(:, jjm+1) = rlat_g(klon_glo)287 lon_scat(:,nbp_lat) = lon_scat(:,2) 288 lat_scat(:,nbp_lat) = rlat_g(klon_glo) 290 289 ENDIF 291 290 … … 398 397 ! if (pole_nord) then 399 398 ! offset=0 400 ! ktindex(:)=ktindex(:)+ iim-1399 ! ktindex(:)=ktindex(:)+nbp_lon-1 401 400 ! else 402 ! offset = klon_mpi_begin-1+ iim-1403 ! ktindex(:)=ktindex(:)+MOD(offset, iim)404 ! offset=offset-MOD(offset, iim)401 ! offset = klon_mpi_begin-1+nbp_lon-1 402 ! ktindex(:)=ktindex(:)+MOD(offset,nbp_lon) 403 ! offset=offset-MOD(offset,nbp_lon) 405 404 ! endif 406 405 … … 412 411 #ifndef CPP_MPI 413 412 ! Interface for ORCHIDEE compiled in sequential mode(without preprocessing flag CPP_MPI) 414 CALL intersurf_main (itime+itau_phy-1, iim, jjm+1, knon, ktindex, dtime, &413 CALL intersurf_main (itime+itau_phy-1,nbp_lon,nbp_lat, knon, ktindex, dtime, & 415 414 lrestart_read, lrestart_write, lalo, & 416 415 contfrac, neighbours, resolution, date0, & … … 429 428 #else 430 429 ! Interface for ORCHIDEE version 1.9 or later(1.9.2, 1.9.3, 1.9.4, 1.9.5) compiled in parallel mode(with preprocessing flag CPP_MPI) 431 CALL intersurf_main (itime+itau_phy-1, iim, jjm+1, offset, knon, ktindex, &430 CALL intersurf_main (itime+itau_phy-1,nbp_lon,nbp_lat, offset, knon, ktindex, & 432 431 orch_comm, dtime, lrestart_read, lrestart_write, lalo, & 433 432 contfrac, neighbours, resolution, date0, & … … 457 456 #ifndef CPP_MPI 458 457 ! Interface for ORCHIDEE compiled in sequential mode(without preprocessing flag CPP_MPI) 459 CALL intersurf_main (itime+itau_phy, iim, jjm+1, knon, ktindex, dtime, &458 CALL intersurf_main (itime+itau_phy,nbp_lon,nbp_lat, knon, ktindex, dtime, & 460 459 lrestart_read, lrestart_write, lalo, & 461 460 contfrac, neighbours, resolution, date0, & … … 473 472 #else 474 473 ! Interface for ORCHIDEE version 1.9 or later compiled in parallel mode(with preprocessing flag CPP_MPI) 475 CALL intersurf_main (itime+itau_phy, iim, jjm+1,offset, knon, ktindex, &474 CALL intersurf_main (itime+itau_phy,nbp_lon,nbp_lat,offset, knon, ktindex, & 476 475 orch_comm,dtime, lrestart_read, lrestart_write, lalo, & 477 476 contfrac, neighbours, resolution, date0, & … … 529 528 SUBROUTINE Init_orchidee_index(knon,orch_comm,knindex,offset,ktindex) 530 529 531 INCLUDE "dimensions.h" 530 USE mod_grid_phy_lmdz, ONLY: 531 IMPLICIT NONE 532 532 533 533 #ifdef CPP_MPI … … 562 562 !**************************************************************************************** 563 563 564 MyLastPoint=klon_mpi_begin-1+knindex(knon)+ iim-1564 MyLastPoint=klon_mpi_begin-1+knindex(knon)+nbp_lon-1 565 565 566 566 IF (is_parallel) THEN … … 591 591 offset=0 592 592 ELSE 593 offset=LastPoint-MOD(LastPoint, iim)594 ENDIF 595 596 ktindex(1:knon)=knindex(1:knon)+(klon_mpi_begin+ iim-1)-offset-1593 offset=LastPoint-MOD(LastPoint,nbp_lon) 594 ENDIF 595 596 ktindex(1:knon)=knindex(1:knon)+(klon_mpi_begin+nbp_lon-1)-offset-1 597 597 598 598 … … 602 602 ! 603 603 SUBROUTINE Get_orchidee_communicator(knon,orch_comm) 604 604 IMPLICIT NONE 605 605 #ifdef CPP_MPI 606 606 INCLUDE 'mpif.h' … … 634 634 635 635 USE indice_sol_mod 636 637 INCLUDE "dimensions.h" 636 USE mod_grid_phy_lmdz, ONLY: nbp_lon 637 IMPLICIT NONE 638 638 639 #ifdef CPP_MPI 639 640 INCLUDE 'mpif.h' … … 661 662 INTEGER, DIMENSION(8) :: offset 662 663 INTEGER, DIMENSION(knon) :: ktindex_p 663 INTEGER, DIMENSION( iim,jjm+1) :: correspond664 INTEGER, DIMENSION(nbp_lon,jjm+1) :: correspond 664 665 INTEGER, ALLOCATABLE, DIMENSION(:) :: ktindex_g 665 666 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: neighbours_g … … 694 695 ENDIF 695 696 696 ktindex_p(1:knon)=ktindex(1:knon)+klon_mpi_begin-1+ iim-1697 ktindex_p(1:knon)=ktindex(1:knon)+klon_mpi_begin-1+nbp_lon-1 697 698 698 699 IF (is_sequential) THEN … … 713 714 ! 714 715 ! offset bord ouest 715 off_ini(1,1) = - iim ; off_ini(2,1) = - iim+ 1; off_ini(3,1) = 1716 off_ini(4,1) = iim + 1; off_ini(5,1) = iim ; off_ini(6,1) = 2 * iim- 1717 off_ini(7,1) = iim-1 ; off_ini(8,1) = - 1716 off_ini(1,1) = - nbp_lon ; off_ini(2,1) = - nbp_lon + 1; off_ini(3,1) = 1 717 off_ini(4,1) = nbp_lon + 1; off_ini(5,1) = nbp_lon ; off_ini(6,1) = 2 * nbp_lon - 1 718 off_ini(7,1) = nbp_lon -1 ; off_ini(8,1) = - 1 718 719 ! offset point normal 719 off_ini(1,2) = - iim ; off_ini(2,2) = - iim+ 1; off_ini(3,2) = 1720 off_ini(4,2) = iim + 1; off_ini(5,2) = iim ; off_ini(6,2) = iim- 1721 off_ini(7,2) = -1 ; off_ini(8,2) = - iim- 1720 off_ini(1,2) = - nbp_lon ; off_ini(2,2) = - nbp_lon + 1; off_ini(3,2) = 1 721 off_ini(4,2) = nbp_lon + 1; off_ini(5,2) = nbp_lon ; off_ini(6,2) = nbp_lon - 1 722 off_ini(7,2) = -1 ; off_ini(8,2) = - nbp_lon - 1 722 723 ! offset bord est 723 off_ini(1,3) = - iim; off_ini(2,3) = - 2 * iim + 1; off_ini(3,3) = - iim+ 1724 off_ini(4,3) = 1 ; off_ini(5,3) = iim ; off_ini(6,3) = iim- 1725 off_ini(7,3) = -1 ; off_ini(8,3) = - iim- 1724 off_ini(1,3) = - nbp_lon; off_ini(2,3) = - 2 * nbp_lon + 1; off_ini(3,3) = - nbp_lon + 1 725 off_ini(4,3) = 1 ; off_ini(5,3) = nbp_lon ; off_ini(6,3) = nbp_lon - 1 726 off_ini(7,3) = -1 ; off_ini(8,3) = - nbp_lon - 1 726 727 ! 727 728 ! … … 730 731 DO igrid = 1, knon_g 731 732 index = ktindex_g(igrid) 732 jj = INT((index - 1)/ iim) + 1733 ij = index - (jj - 1) * iim733 jj = INT((index - 1)/nbp_lon) + 1 734 ij = index - (jj - 1) * nbp_lon 734 735 correspond(ij,jj) = igrid 735 736 ENDDO … … 737 738 DO igrid = 1, knon_g 738 739 iglob = ktindex_g(igrid) 739 IF (MOD(iglob, iim) == 1) THEN740 IF (MOD(iglob, nbp_lon) == 1) THEN 740 741 offset = off_ini(:,1) 741 ELSE IF(MOD(iglob, iim) == 0) THEN742 ELSE IF(MOD(iglob, nbp_lon) == 0) THEN 742 743 offset = off_ini(:,3) 743 744 ELSE … … 746 747 DO i = 1, 8 747 748 index = iglob + offset(i) 748 ireal = (MIN(MAX(1, index - iim+ 1), klon_glo))749 ireal = (MIN(MAX(1, index - nbp_lon + 1), klon_glo)) 749 750 IF (pctsrf_g(ireal) > EPSFRA) THEN 750 jj = INT((index - 1)/ iim) + 1751 ij = index - (jj - 1) * iim751 jj = INT((index - 1)/nbp_lon) + 1 752 ij = index - (jj - 1) * nbp_lon 752 753 neighbours_g(igrid, i) = correspond(ij, jj) 753 754 ENDIF … … 779 780 780 781 #endif 782 ! of #ifdef ORCHIDEE_NOOPENMP 781 783 END MODULE surf_land_orchidee_noopenmp_mod -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/thermcell.F90
r3814 r3818 34 34 ! ------------- 35 35 36 include "dimensions.h"37 36 ! ccc#include "dimphy.h" 38 37 include "YOMCST.h" … … 998 997 IMPLICIT NONE 999 998 1000 include "dimensions.h"1001 999 ! ccc#include "dimphy.h" 1002 1000 include "YOMCST.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/thermcellV0_main.F90
r3817 r3818 42 42 ! ------------- 43 43 44 include "dimensions.h"45 44 include "YOMCST.h" 46 45 include "YOETHF.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/thermcell_main.F90
r3817 r3818 63 63 ! ------------- 64 64 65 #include "dimensions.h"66 65 #include "YOMCST.h" 67 66 #include "YOETHF.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/thermcell_old.F90
r3814 r3818 31 31 ! ------------- 32 32 33 include "dimensions.h"34 33 include "YOMCST.h" 35 34 … … 742 741 ! ------------- 743 742 744 include "dimensions.h"745 743 ! ccc#include "dimphy.h" 746 744 include "YOMCST.h" … … 2345 2343 ! ------------- 2346 2344 2347 include "dimensions.h"2348 2345 ! ccc#include "dimphy.h" 2349 2346 include "YOMCST.h" … … 3278 3275 ! ------------- 3279 3276 3280 include "dimensions.h"3281 3277 ! ccc#include "dimphy.h" 3282 3278 include "YOMCST.h" … … 4139 4135 ! ======================================================================= 4140 4136 4141 include "dimensions.h"4142 ! ccc#include "dimphy.h"4143 4144 4137 INTEGER ngrid, nlay 4145 4138 … … 4235 4228 4236 4229 ! ======================================================================= 4237 4238 include "dimensions.h"4239 ! ccc#include "dimphy.h"4240 4230 4241 4231 INTEGER ngrid, nlay … … 4342 4332 ! ======================================================================= 4343 4333 4344 include "dimensions.h"4345 ! ccc#include "dimphy.h"4346 4347 4334 INTEGER ngrid, nlay 4348 4335 … … 4419 4406 4420 4407 ! ======================================================================= 4421 4422 include "dimensions.h"4423 ! ccc#include "dimphy.h"4424 4408 4425 4409 INTEGER ngrid, nlay … … 4561 4545 ! ------------- 4562 4546 4563 include "dimensions.h"4564 ! ccc#include "dimphy.h"4565 4547 include "YOMCST.h" 4566 4548 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/tracinca_mod.F90
r3816 r3818 52 52 IMPLICIT NONE 53 53 54 INCLUDE "dimensions.h"55 ! INCLUDE "paramet.h"56 54 57 55 !========================================================================== -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/transp.F90
r3809 r3818 13 13 ! ====================================================================== 14 14 15 ! ym#include "dimensions.h"16 ! ym#include "dimphy.h"17 15 include "YOMCST.h" 18 16 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/transp_lay.F90
r3809 r3818 13 13 ! ====================================================================== 14 14 15 ! ym#include "dimensions.h"16 ! ym#include "dimphy.h"17 15 include "YOMCST.h" 18 16 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/undefSTD.F90
r3809 r3818 28 28 ! ==================================================================== 29 29 30 ! ym#include "dimensions.h"31 30 ! ym integer jjmp1 32 31 ! ym parameter (jjmp1=jjm+1-1/jjm) -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/ustarhb.F90
r3809 r3818 18 18 ! model. J. of Climate, vol. 6, 1825-1842. 19 19 ! ====================================================================== 20 ! ym#include "dimensions.h"21 ! ym#include "dimphy.h"22 20 include "YOMCST.h" 23 21 -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/vdif_kcay.F90
r3809 r3818 6 6 USE dimphy 7 7 IMPLICIT NONE 8 ! .......................................................................9 ! ym#include "dimensions.h"10 ! ym#include "dimphy.h"11 ! .......................................................................12 8 13 9 ! dt : pas de temps -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/wake.F90
r3817 r3818 111 111 ! ------------------------------------------------------------------------- 112 112 113 include "dimensions.h"114 113 include "YOMCST.h" 115 114 include "cvthermo.h" -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/write_histday_seri.h
r3814 r3818 24 24 zx_tmp_fi2d(1:klon)=moyglo 25 25 ! 26 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)26 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 27 27 CALL histwrite(nid_day_seri,"bilTOA",itau_w, & 28 zx_tmp_2d, iim*jjmp1,ndex2d)28 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 29 29 ! 30 30 ok_msk=.FALSE. … … 33 33 zx_tmp_fi2d(1:klon)=moyglo 34 34 ! 35 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)35 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 36 36 CALL histwrite(nid_day_seri,"bils",itau_w, & 37 zx_tmp_2d, iim*jjmp1,ndex2d)37 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 38 38 ! 39 39 DO k=1, klev … … 48 48 zx_tmp_fi2d(1:klon)=moyglo 49 49 ! 50 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)50 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 51 51 CALL histwrite(nid_day_seri,"ecin",itau_w, & 52 zx_tmp_2d, iim*jjmp1,ndex2d)52 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 53 53 54 54 … … 68 68 !ym zx_tmp_fi2d(1:klon)=moyglo 69 69 !ym! 70 !ym CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)70 !ym CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 71 71 !ym CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, & 72 !ym iim*jjmp1,ndex2d)72 !ym nbp_lon*jjmp1,ndex2d) 73 73 !ym! 74 74 !ym! friction torque … … 83 83 !ym zx_tmp_fi2d(1:klon)=moyglo 84 84 !ym! 85 !ym CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)85 !ym CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 86 86 !ym CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d, & 87 !ym iim*jjmp1,ndex2d)87 !ym nbp_lon*jjmp1,ndex2d) 88 88 !ym! 89 89 !ym! mountain torque 90 90 !ym! 91 91 !ym!IM 190504 BEG 92 !ym CALL gr_fi_dyn(1,klon, iim+1,jjm+1,airephy,airedyn)93 !ym CALL gr_fi_dyn(klev+1,klon, iim+1,jjm+1,paprs,padyn)94 !ym CALL gr_fi_dyn(1,klon, iim+1,jjm+1,rlat,rlatdyn)92 !ym CALL gr_fi_dyn(1,klon,nbp_lon+1,jjm+1,airephy,airedyn) 93 !ym CALL gr_fi_dyn(klev+1,klon,nbp_lon+1,jjm+1,paprs,padyn) 94 !ym CALL gr_fi_dyn(1,klon,nbp_lon+1,jjm+1,rlat,rlatdyn) 95 95 !ym 96 96 !ym … … 98 98 !ym airetot=0. 99 99 !ym DO j = 1, jjmp1 100 !ym DO i = 1, iim+1101 !ym ij=i+( iim+1)*(j-1)100 !ym DO i = 1, nbp_lon+1 101 !ym ij=i+(nbp_lon+1)*(j-1) 102 102 !ym zx_tmp(ij)=0. 103 103 !ym DO k = 1, klev … … 118 118 !ym! 119 119 !ym!IM 190504 END 120 !ym zx_tmp_2d(1: iim,1:jjmp1)=mountor120 !ym zx_tmp_2d(1:nbp_lon,1:jjmp1)=mountor 121 121 !ym CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d, & 122 !ym iim*jjmp1,ndex2d)122 !ym nbp_lon*jjmp1,ndex2d) 123 123 !ym! 124 124 !ym ENDIF !(1.EQ.0) THEN … … 126 126 !ym! 127 127 !ym 128 !ym CALL gr_fi_dyn(1,klon, iim+1,jjm+1,airephy,airedyn)128 !ym CALL gr_fi_dyn(1,klon,nbp_lon+1,jjm+1,airephy,airedyn) 129 129 !#endif 130 130 131 CALL gr_fi_ecrit(1,klon, iim,jjmp1,airephy,zx_tmp_2d)131 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,airephy,zx_tmp_2d) 132 132 airetot=0. 133 133 ! DO j = 1, jjmp1 134 ! DO i = 1, iim+1135 ! ij=i+( iim+1)*(j-1)134 ! DO i = 1, nbp_lon+1 135 ! ij=i+(nbp_lon+1)*(j-1) 136 136 ! DO k = 1, klev 137 137 ! airetot=airetot+airedyn(i,j) … … 151 151 airetot=0. 152 152 DO j=1, jjmp1 153 DO i=1, iim153 DO i=1, nbp_lon 154 154 airetot=airetot+zx_tmp_2d(i,j) 155 155 ENDDO … … 160 160 ! 161 161 zx_tmp_fi2d(1:klon)=aam/airetot 162 CALL gr_fi_ecrit(1,klon, iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)162 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 163 163 CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, & 164 iim*jjmp1,ndex2d)164 nbp_lon*jjmp1,ndex2d) 165 165 ! 166 166 zx_tmp_fi2d(1:klon)=torsfc/airetot 167 CALL gr_fi_ecrit(1,klon, iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)167 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 168 168 CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d, & 169 iim*jjmp1,ndex2d)169 nbp_lon*jjmp1,ndex2d) 170 170 ! 171 171 !IM 151004 END … … 175 175 zx_tmp_fi2d(1:klon)=moyglo 176 176 ! 177 CALL gr_fi_ecrit(1,klon, iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)177 CALL gr_fi_ecrit(1,klon,nbp_lon,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 178 178 CALL histwrite(nid_day_seri,"tamv",itau_w, & 179 zx_tmp_2d, iim*jjmp1,ndex2d)179 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 180 180 ! 181 181 ok_msk=.FALSE. … … 184 184 zx_tmp_fi2d(1:klon)=moyglo 185 185 ! 186 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)186 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 187 187 CALL histwrite(nid_day_seri,"psol",itau_w, & 188 zx_tmp_2d, iim*jjmp1,ndex2d)188 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 189 189 ! 190 190 ok_msk=.FALSE. … … 193 193 zx_tmp_fi2d(1:klon)=moyglo 194 194 ! 195 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)195 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 196 196 CALL histwrite(nid_day_seri,"evap",itau_w, & 197 zx_tmp_2d, iim*jjmp1,ndex2d)197 zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 198 198 ! 199 199 ! DO i=1, klon … … 207 207 ! zx_tmp_fi2d(1:klon)=moyglo 208 208 ! 209 ! CALL gr_fi_ecrit(1, klon, iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)209 ! CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 210 210 ! CALL histwrite(nid_day_seri,"SnowFrac", 211 ! . itau_w,zx_tmp_2d, iim*jjmp1,ndex2d)211 ! . itau_w,zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 212 212 ! 213 213 ! DO i=1, klon … … 223 223 ! zx_tmp_fi2d(1:klon)=moyglo 224 224 ! 225 ! CALL gr_fi_ecrit(1, klon, iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)225 ! CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 226 226 ! CALL histwrite(nid_day_seri,"snow_depth",itau_w, 227 ! . zx_tmp_2d, iim*jjmp1,ndex2d)227 ! . zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 228 228 ! 229 229 DO i=1, klon … … 237 237 zx_tmp_fi2d(1:klon)=moyglo 238 238 ! 239 CALL gr_fi_ecrit(1, klon, iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)239 CALL gr_fi_ecrit(1, klon,nbp_lon,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 240 240 CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce), & 241 itau_w,zx_tmp_2d, iim*jjmp1,ndex2d)241 itau_w,zx_tmp_2d,nbp_lon*jjmp1,ndex2d) 242 242 ! 243 243 !================================================================= -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/yamada.F90
r3809 r3818 6 6 USE dimphy 7 7 IMPLICIT NONE 8 ! .......................................................................9 ! ym#include "dimensions.h"10 ! ym#include "dimphy.h"11 ! .......................................................................12 8 13 9 ! dt : pas de temps -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/yamada4.F90
r3817 r3818 7 7 USE inifis_mod, ONLY: prt_level 8 8 IMPLICIT NONE 9 ! .......................................................................10 ! ym#include "dimensions.h"11 ! ym#include "dimphy.h"12 ! .......................................................................13 9 14 10 ! dt : pas de temps … … 496 492 USE dimphy 497 493 IMPLICIT NONE 498 ! .......................................................................499 include "dimensions.h"500 ! ccc#include "dimphy.h"501 ! .......................................................................502 494 503 495 ! dt : pas de temps … … 572 564 USE dimphy 573 565 IMPLICIT NONE 574 ! .......................................................................575 include "dimensions.h"576 ! ccc#include "dimphy.h"577 ! .......................................................................578 566 579 567 ! dt : pas de temps -
dynamico_lmdz/aquaplanet/LMDZ5/libf/phylmd/yamada_c.F90
r3817 r3818 9 9 IMPLICIT NONE 10 10 #include "YOMCST.h" 11 !.......................................................................12 !ym#include "dimensions.h"13 !ym#include "dimphy.h"14 !.......................................................................15 11 ! 16 12 ! timestep : pas de temps
Note: See TracChangeset
for help on using the changeset viewer.