Changeset 229
- Timestamp:
- 2005-03-18T20:44:35+01:00 (19 years ago)
- Location:
- trunk/NEMO/OPA_SRC/SBC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/flx_bulk_daily.h90
r18 r229 11 11 12 12 INTEGER :: & 13 ji, jj, & ! loop indices 13 14 numfl1, numfl2, & ! logical units for surface fluxes data 14 numfl3, 15 numfl3, numfl4, & ! 15 16 nflx1, nflx2, & ! first and second record used 16 17 nflx11, nflx12 , & ! ??? 17 18 ndayflx 18 19 19 REAL(wp), DIMENSION(jpi,jpj,2, 7) :: &20 REAL(wp), DIMENSION(jpi,jpj,2,3) :: & 20 21 flxdta ! 2 consecutive set of CLIO/CMAP monthly fluxes 21 22 !!---------------------------------------------------------------------- … … 35 36 !! ORCA FORCED VERSION WITH : 36 37 !! Daily climatological NCEP temperature 37 !! monthly climatological CLIO winds, humidity and clouds 38 !! Daily climatological ERS-NCEP winds 39 !! monthly climatological humidity and clouds 38 40 !! monthly climatological CMAP precipitation 39 41 !! Read several AGCM daily and monthly fluxes file … … 75 77 REAL(wp), DIMENSION(jpk) :: zlev ! ??? 76 78 CHARACTER(len=45) :: & 77 clname_n = 'NCEP_1d_0101_0112_tair.nc', & 78 clname_c = 'CLIO_1m_0101_0112_flx.nc' , & 79 clname_x = 'CMAP_1m_0101_0112_rain.nc' 79 clname_n = 'tair_1d.nc', & 80 clname_c = 'hum_cloud_1m.nc', & 81 clname_x = 'rain_1m.nc', & 82 clname_w = 'wspd_1d.nc' 80 83 !!--------------------------------------------------------------------- 81 84 … … 128 131 WRITE(numout,*) ' Check in file', clname_n 129 132 ENDIF 130 STOP 'flx .forced.ncep_clio_xie.h'133 STOP 'flx_bulk_daily.h90' 131 134 ENDIF 132 135 IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1 ) THEN … … 139 142 WRITE(numout,*) ' Check in file', clname_n 140 143 ENDIF 141 STOP 'flx .forced.ncep_clio_xie.h'144 STOP 'flx_bulk_daily.h90' 142 145 ENDIF 143 146 … … 153 156 WRITE(numout,*) ' Check in file', clname_c 154 157 ENDIF 155 STOP 'flx .forced.ncep_clio_xie.h'158 STOP 'flx_bulk_daily.h90' 156 159 ENDIF 157 160 IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1 ) THEN … … 164 167 WRITE(numout,*) ' Check in file', clname_c 165 168 ENDIF 166 STOP 'flx .forced.ncep_clio_xie.h'169 STOP 'flx_bulk_daily.h90' 167 170 ENDIF 168 171 … … 178 181 WRITE(numout,*) ' Check in file', clname_x 179 182 ENDIF 180 STOP 'flx .forced.ncep_clio_xie.h'183 STOP 'flx_bulk_daily.h90' 181 184 ENDIF 182 185 IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1 ) THEN … … 189 192 WRITE(numout,*) ' Check in file', clname_x 190 193 ENDIF 191 STOP 'flx.forced.ncep_clio_xie.h' 194 STOP 'flx_bulk_daily.h90' 195 ENDIF 196 197 ! open ERS-NCEP file 198 CALL flinopen(clname_w,mig(1),nlci,mjg(1),nlcj,.FALSE.,ipi,ipj & 199 ,ipk,zlon,zlat,zlev,itime,istep_n,zdate0,rdt,numfl4) 200 201 IF( itime /= jpday .AND. itime /= jpday+1 ) THEN 202 IF(lwp) THEN 203 WRITE(numout,*) ' ' 204 WRITE(numout,*) 'problem with time coordinates ' 205 WRITE(numout,*) ' itime ',itime,' jpday ',jpday 206 WRITE(numout,*) ' Check in file', clname_w 207 ENDIF 208 STOP 'flx_bulk_daily.h90' 209 ENDIF 210 IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1 ) THEN 211 IF(lwp) THEN 212 WRITE(numout,*) ' ' 213 WRITE(numout,*) 'problem with dimensions' 214 WRITE(numout,*) ' ipi ',ipi,' jpidta ',jpidta 215 WRITE(numout,*) ' ipj ',ipj,' jpjdta ',jpjdta 216 WRITE(numout,*) ' ipk ',ipk,' =? 1' 217 WRITE(numout,*) ' Check in file', clname_w 218 ENDIF 219 STOP 'flx_bulk_daily.h90' 192 220 ENDIF 193 221 … … 212 240 ! conversion of temperature Kelvin --> Celsius [rt0=273.15] 213 241 tatm(:,:) = ( tatm(:,:) - rt0 ) 242 243 ! read wind speed 244 CALL flinget(numfl4,'wspd',jpidta,jpjdta,1,jpday,iday, & 245 iday,mig(1),nlci,mjg(1),nlcj,vatm(1:nlci,1:nlcj)) 246 247 IF(lwp) WRITE (numout,*)' Lecture daily wind speed flx :',iday 248 IF(lwp) WRITE (numout,*)' ' 249 250 ! Extra-halo initialization in MPP 251 IF( lk_mpp ) THEN 252 DO ji = nlci+1, jpi 253 tatm(ji,:) = tatm(1,:) 254 vatm(ji,:) = vatm(1,:) 255 ENDDO 256 DO jj = nlcj+1, jpj 257 tatm(:,jj) = tatm(:,1) 258 vatm(:,jj) = vatm(:,1) 259 ENDDO 260 ENDIF 214 261 215 262 ENDIF … … 242 289 CALL flinget(numfl2,'socliohu',jpidta,jpjdta,jpk,jpmois,nflx2, & 243 290 nflx2,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,2,1)) 244 ! wind 245 CALL flinget(numfl2,'socliowi',jpidta,jpjdta,jpk,jpmois,nflx1, & 246 nflx1,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,1,2)) 247 CALL flinget(numfl2,'socliowi',jpidta,jpjdta,jpk,jpmois,nflx2, & 248 nflx2,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,2,2)) 291 249 292 ! clouds 250 293 CALL flinget(numfl2,'socliocl',jpidta,jpjdta,jpk,jpmois,nflx1, & 294 nflx1,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,1,2)) 295 CALL flinget(numfl2,'socliocl',jpidta,jpjdta,jpk,jpmois,nflx2, & 296 nflx2,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,2,2)) 297 298 ! Read monthly precipitations ds flxdta(:,:,1 ou 2,4) 299 300 CALL flinget(numfl3,'rain',jpidta,jpjdta,jpk,jpmois,nflx1, & 251 301 nflx1,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,1,3)) 252 CALL flinget(numfl 2,'socliocl',jpidta,jpjdta,jpk,jpmois,nflx2, &302 CALL flinget(numfl3,'rain',jpidta,jpjdta,jpk,jpmois,nflx2, & 253 303 nflx2,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,2,3)) 254 304 255 ! Read monthly precipitations ds flxdta(:,:,1 ou 2,4) 256 257 CALL flinget(numfl3,'rain',jpidta,jpjdta,jpk,jpmois,nflx1, & 258 nflx1,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,1,4)) 259 CALL flinget(numfl3,'rain',jpidta,jpjdta,jpk,jpmois,nflx2, & 260 nflx2,mig(1),nlci,mjg(1),nlcj,flxdta(1:nlci,1:nlcj,2,4)) 305 ! Extra-halo initialization in MPP 306 IF( lk_mpp ) THEN 307 DO ji = nlci+1, jpi 308 flxdta(ji,:,1,1) = flxdta(1,:,1,1) ; flxdta(ji,:,2,1) = flxdta(1,:,2,1) 309 flxdta(ji,:,1,2) = flxdta(1,:,1,2) ; flxdta(ji,:,2,2) = flxdta(1,:,2,2) 310 flxdta(ji,:,1,3) = flxdta(1,:,1,3) ; flxdta(ji,:,2,3) = flxdta(1,:,2,3) 311 ENDDO 312 DO jj = nlcj+1, jpj 313 flxdta(:,jj,1,1) = flxdta(:,1,1,1) ; flxdta(:,jj,2,1) = flxdta(:,1,2,1) 314 flxdta(:,jj,1,2) = flxdta(:,1,1,2) ; flxdta(:,jj,2,2) = flxdta(:,1,2,2) 315 flxdta(:,jj,1,3) = flxdta(:,1,1,3) ; flxdta(:,jj,2,3) = flxdta(:,1,2,3) 316 ENDDO 317 ENDIF 261 318 262 319 ENDIF … … 269 326 270 327 hatm(:,:) = ( (1.-zxy) * flxdta(:,:,1,1) + zxy * flxdta(:,:,2,1) ) 271 vatm(:,:) = ( (1.-zxy) * flxdta(:,:,1,2) + zxy * flxdta(:,:,2,2) ) 272 catm(:,:) = ( (1.-zxy )* flxdta(:,:,1,3) + zxy * flxdta(:,:,2,3) ) 273 watm(:,:) = ( (1.-zxy) * flxdta(:,:,1,4) + zxy * flxdta(:,:,2,4) ) 274 328 catm(:,:) = ( (1.-zxy )* flxdta(:,:,1,2) + zxy * flxdta(:,:,2,2) ) 329 watm(:,:) = ( (1.-zxy) * flxdta(:,:,1,3) + zxy * flxdta(:,:,2,3) ) 275 330 276 331 ! 4. Closing all files -
trunk/NEMO/OPA_SRC/SBC/flx_bulk_monthly.h90
r222 r229 10 10 11 11 INTEGER :: & 12 ji, jj, & ! loop indices 12 13 numflx, & ! logical unit for surface fluxes data 13 14 nflx1, nflx2, & ! first and second record used … … 135 136 & jpmois, 1, 1, mig(1), nlci, & 136 137 & mjg(1), nlcj, flxdta(1:nlci,1:nlcj,1,5) ) 138 139 ! Extra-halo initialization in MPP 140 IF( lk_mpp ) THEN 141 DO ji = nlci+1, jpi 142 flxdta(ji,:,1,5) = flxdta(1,:,1,5) ; flxdta(ji,:,2,5) = flxdta(1,:,2,5) 143 ENDDO 144 DO jj = nlcj+1, jpj 145 flxdta(:,jj,1,5) = flxdta(:,1,1,5) ; flxdta(:,jj,2,5) = flxdta(:,1,2,5) 146 ENDDO 147 ENDIF 137 148 ENDIF 138 149 … … 191 202 ENDIF 192 203 204 ! Extra-halo initialization in MPP 205 IF( lk_mpp ) THEN 206 DO ji = nlci+1, jpi 207 flxdta(ji,:,1,1) = flxdta(1,:,1,1) ; flxdta(ji,:,2,1) = flxdta(1,:,2,1) 208 flxdta(ji,:,1,2) = flxdta(1,:,1,2) ; flxdta(ji,:,2,2) = flxdta(1,:,2,2) 209 flxdta(ji,:,1,3) = flxdta(1,:,1,3) ; flxdta(ji,:,2,3) = flxdta(1,:,2,3) 210 flxdta(ji,:,1,4) = flxdta(1,:,1,4) ; flxdta(ji,:,2,4) = flxdta(1,:,2,4) 211 ENDDO 212 DO jj = nlcj+1, jpj 213 flxdta(:,jj,1,1) = flxdta(:,1,1,1) ; flxdta(:,jj,2,1) = flxdta(:,1,2,1) 214 flxdta(:,jj,1,2) = flxdta(:,1,1,2) ; flxdta(:,jj,2,2) = flxdta(:,1,2,2) 215 flxdta(:,jj,1,3) = flxdta(:,1,1,3) ; flxdta(:,jj,2,3) = flxdta(:,1,2,3) 216 flxdta(:,jj,1,4) = flxdta(:,1,1,4) ; flxdta(:,jj,2,4) = flxdta(:,1,2,4) 217 ENDDO 218 ENDIF 219 193 220 ENDIF 194 221 … … 242 269 END DO 243 270 ENDIF 271 272 ! Extra-halo initialization in MPP 273 IF( lk_mpp ) THEN 274 DO ji = nlci+1, jpi 275 flxdta(ji,:,1,6) = flxdta(1,:,1,6) ; flxdta(ji,:,2,6) = flxdta(1,:,2,6) 276 flxdta(ji,:,1,7) = flxdta(1,:,1,7) ; flxdta(ji,:,2,7) = flxdta(1,:,2,7) 277 ENDDO 278 DO jj = nlcj+1, jpj 279 flxdta(:,jj,1,6) = flxdta(:,1,1,6) ; flxdta(:,jj,2,6) = flxdta(:,1,2,6) 280 flxdta(:,jj,1,7) = flxdta(:,1,1,7) ; flxdta(:,jj,2,7) = flxdta(:,1,2,7) 281 ENDDO 282 ENDIF 244 283 245 284 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.