Changeset 1143 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/readsulfate.F
- Timestamp:
- Apr 7, 2009, 6:41:02 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.