Changeset 1143 for LMDZ4/branches/LMDZ4-dev/libf/phylmd
- Timestamp:
- Apr 7, 2009, 6:41:02 PM (16 years ago)
- Location:
- LMDZ4/branches/LMDZ4-dev/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h
r1067 r1143 40 40 INTEGER lev_histhf, lev_histday, lev_histmth 41 41 CHARACTER*4 type_run 42 ! aer_type: pour utiliser un fichier constant dans readsulfate 43 CHARACTER*8 :: aer_type 42 44 LOGICAL ok_isccp, ok_regdyn 43 45 REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins … … 62 64 & , ecrit_mth, ecrit_tra, ecrit_reg & 63 65 & , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy & 64 & , ok_lic_melt, cvl_corr 66 & , ok_lic_melt, cvl_corr, aer_type & 65 67 & , qsol0, iflag_rrtm, ok_strato,ok_hines,ecrit_LES 66 68 -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90
r1134 r1143 66 66 67 67 character (len = 6),SAVE :: type_ocean_omp, version_ocean_omp, ocean_omp 68 CHARACTER(len = 8),SAVE :: aer_type_omp 68 69 logical,SAVE :: ok_veget_omp, ok_newmicro_omp 69 70 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp … … 237 238 aerosol_couple_omp = .false. 238 239 CALL getin('aerosol_couple',aerosol_couple_omp) 240 241 ! 242 !Config Key = aer_type 243 !Config Desc = Use a constant field for the aerosols 244 !Config Def = scenario 245 !Config Help = Used in readsulfate.F 246 ! 247 aer_type_omp = 'scenario' 248 call getin('aer_type', aer_type_omp) 239 249 240 250 ! … … 1256 1266 ok_aie = ok_aie_omp 1257 1267 aerosol_couple = aerosol_couple_omp 1268 aer_type = aer_type_omp 1258 1269 bl95_b0 = bl95_b0_omp 1259 1270 bl95_b1 = bl95_b1_omp … … 1310 1321 END IF 1311 1322 1312 IF (type_ocean=='slab' .AND. version_ocean /='xxxxxx') THEN1323 IF (type_ocean=='slab' .AND. version_ocean=='xxxxxx') THEN 1313 1324 version_ocean='sicOBS' 1314 1325 ELSE IF (type_ocean=='slab' .AND. version_ocean/='sicOBS') THEN … … 1385 1396 write(numout,*)' ok_aie = ',ok_aie 1386 1397 write(numout,*)' aerosol_couple = ', aerosol_couple 1398 write(numout,*)' aer_type = ',aer_type 1387 1399 write(numout,*)' bl95_b0 = ',bl95_b0 1388 1400 write(numout,*)' bl95_b1 = ',bl95_b1 -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/isccp_cloud_types.F
r776 r1143 530 530 ! Initialised frac_out to zero 531 531 532 do i box=1,ncol533 do i lev=1,nlev532 do ilev=1,nlev 533 do ibox=1,ncol 534 534 do j=1,npoints 535 535 frac_out(j,ibox,ilev)=0.0 … … 1219 1219 enddo 1220 1220 do 29 ilev=1,nlev-1 1221 1221 !cdir nodep 1222 1222 do j=1,npoints 1223 1223 if ((at(j,ilev) .ge. tb(j,ibox) .and. -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/readsulfate.F
r1116 r1143 36 36 #include "chem.h" 37 37 #include "dimensions.h" 38 cym#include "dimphy.h"39 38 #include "temps.h" 39 #include "clesphys.h" 40 #include "iniprint.h" 40 41 c 41 42 c Input: … … 84 85 85 86 if (is_mpi_root) then 87 88 IF (aer_type /= 'actuel ' .AND. aer_type /= 'preind ' .AND. & 89 & aer_type /= 'scenario') THEN 90 WRITE(lunout,*)' *** Warning ***' 91 WRITE(lunout,*)'Option aer_type pour les aerosols = ', & 92 & aer_type 93 WRITE(lunout,*)'Cas non prevu, force a preind' 94 aer_type = 'preind ' 95 ENDIF 86 96 87 97 iday = INT(r_day) … … 118 128 119 129 120 IF (iyr .lt. 1850) THEN 121 cyear='.nat' 122 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 123 CALL getso4fromfile(cyear, so4_1) 124 ELSE IF (iyr .ge. 2100) THEN 125 cyear='2100' 126 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 127 CALL getso4fromfile(cyear, so4_1) 130 131 IF (aer_type == 'actuel ') then 132 cyear='1980' 133 CALL getso4fromfile(cyear, so4_1) 134 ELSE IF (aer_type == 'preind ') THEN 135 cyear='.nat' 136 CALL getso4fromfile(cyear, so4_1) 128 137 ELSE 138 IF (iyr .lt. 1850) THEN 139 cyear='.nat' 140 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 141 CALL getso4fromfile(cyear, so4_1) 142 ELSE IF (iyr .ge. 2100) THEN 143 cyear='2100' 144 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 145 CALL getso4fromfile(cyear, so4_1) 146 ELSE 129 147 130 148 ! Read in data: 131 ! a) from actual 10-yr-period 132 133 IF (iyr.LT.1900) THEN 134 iyr1 = 1850 135 iyr2 = 1900 136 ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN 137 iyr1 = 1900 138 iyr2 = 1920 139 ELSE 140 iyr1 = INT(iyr/10)*10 141 iyr2 = INT(1+iyr/10)*10 142 ENDIF 143 WRITE(cyear,'(I4)') iyr1 144 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 145 CALL getso4fromfile(cyear, so4_1) 149 ! a) from actual 10-yr-period 150 151 IF (iyr.LT.1900) THEN 152 iyr1 = 1850 153 iyr2 = 1900 154 ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN 155 iyr1 = 1900 156 iyr2 = 1920 157 ELSE 158 iyr1 = INT(iyr/10)*10 159 iyr2 = INT(1+iyr/10)*10 160 ENDIF 161 WRITE(cyear,'(I4)') iyr1 162 ENDIF 163 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 164 CALL getso4fromfile(cyear, so4_1) 146 165 147 166 148 167 ! If to read two decades: 149 IF (.NOT.lonlyone) THEN168 IF (.NOT.lonlyone) THEN 150 169 151 170 ! b) from the next following one 152 WRITE(cyear,'(I4)') iyr2 153 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 154 CALL getso4fromfile(cyear, so4_2) 155 171 WRITE(cyear,'(I4)') iyr2 172 WRITE(*,*) 'getso4 iyr=', iyr,' ',cyear 173 CALL getso4fromfile(cyear, so4_2) 174 175 156 176 ! Interpolate linarily to the actual year: 157 DO it=1,12158 DO k=1,klev159 DO j=1,jjm160 DO i=1,iim161 so4_1(i,j,k,it)=so4_1(i,j,k,it)177 DO it=1,12 178 DO k=1,klev 179 DO j=1,jjm 180 DO i=1,iim 181 so4_1(i,j,k,it)=so4_1(i,j,k,it) 162 182 . - FLOAT(iyr-iyr1)/FLOAT(iyr2-iyr1) 163 183 . * (so4_1(i,j,k,it) - so4_2(i,j,k,it)) 164 ENDDO165 ENDDO166 ENDDO167 ENDDO168 169 ENDIF !lonlyone 170 ENDIF !(iyr .lt. 1850)171 184 ENDDO 185 ENDDO 186 ENDDO 187 ENDDO 188 189 190 ENDIF !lonlyone 191 ENDIF !aer_type 172 192 173 193 ! Transform the horizontal 2D-field into the physics-field … … 537 557 538 558 SUBROUTINE getso4fromfile (cyr, so4) 539 usedimphy559 USE dimphy 540 560 #include "netcdf.inc" 541 561 #include "dimensions.h" 542 cccc#include "dimphy.h"543 562 CHARACTER*15 fname 544 563 CHARACTER*4 cyr
Note: See TracChangeset
for help on using the changeset viewer.