Changeset 1154 for LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/etat0_netcdf.F
- Timestamp:
- May 4, 2009, 5:24:19 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/etat0_netcdf.F
r1151 r1154 9 9 USE ioipsl 10 10 USE dimphy 11 USE infotrac 11 12 USE fonte_neige_mod 12 13 USE pbl_surface_mod 13 14 USE phys_state_var_mod 14 15 USE filtreg_mod 15 USE infotrac16 use regr_lat_time_climoz_m, only: regr_lat_time_climoz 16 17 #endif 17 18 !#endif of #ifdef CPP_EARTH 19 use netcdf, only: nf90_open, NF90_NOWRITE, nf90_close 18 20 ! 19 21 IMPLICIT NONE 20 22 ! 21 #include "netcdf.inc"22 23 #include "dimensions.h" 23 24 #include "paramet.h" … … 43 44 ! local variables: 44 45 REAL :: latfi(klon), lonfi(klon) 45 REAL :: orog(iip1,jjp1), rugo(iip1,jjp1) ,46 .psol(iip1, jjp1), phis(iip1, jjp1)46 REAL :: orog(iip1,jjp1), rugo(iip1,jjp1) 47 REAL :: psol(iip1, jjp1), phis(iip1, jjp1) 47 48 REAL :: p3d(iip1, jjp1, llm+1) 48 49 REAL :: uvent(iip1, jjp1, llm) … … 52 53 REAL,ALLOCATABLE :: q3d(:, :, :,:) 53 54 REAL :: tsol(klon), qsol(klon), sn(klon) 54 REAL :: tsolsrf(klon,nbsrf), qsolsrf(klon,nbsrf),snsrf(klon,nbsrf) 55 !! REAL :: tsolsrf(klon,nbsrf) 56 real qsolsrf(klon,nbsrf),snsrf(klon,nbsrf) 55 57 REAL :: albe(klon,nbsrf), evap(klon,nbsrf) 56 58 REAL :: alblw(klon,nbsrf) … … 72 74 ! 73 75 74 CHARACTER *80:: varname76 CHARACTER(len=80) :: varname 75 77 ! 76 78 INTEGER :: i,j, ig, l, ji,ii1,ii2 77 INTEGER :: nq78 79 REAL :: xpi 79 80 ! … … 103 104 REAL :: w(ip1jmp1,llm) 104 105 REAL ::phystep 105 REAL :: rugsrel(iip1*jjp1)106 CC REAL :: rugsrel(iip1*jjp1) 106 107 REAL :: fder(klon) 107 real zrel(iip1*jjp1),chmin,chmax108 109 CHARACTER*80:: visu_file108 !! real zrel(iip1*jjp1),chmin,chmax 109 110 !! CHARACTER(len=80) :: visu_file 110 111 INTEGER :: visuid 111 112 … … 141 142 REAL :: solarlong0 142 143 real :: seuil_inversion 144 logical read_climoz ! read ozone climatology 143 145 144 146 ! … … 174 176 & iflag_thermals,nsplit_thermals,tau_thermals, & 175 177 & iflag_thermals_ed,iflag_thermals_optflux, & 176 & iflag_coupl,iflag_clos,iflag_wake )178 & iflag_coupl,iflag_clos,iflag_wake, read_climoz ) 177 179 178 180 dtvr = daysec/FLOAT(day_step) … … 181 183 CALL iniconst() 182 184 CALL inigeom() 183 ! 185 184 186 CALL inifilr() 185 C initpour traceurs187 ! Initialisation pour traceurs 186 188 call infotrac_init 187 ALLOCATE(q3d(iip1, jjp1, llm, nqtot))188 ! 189 ALLOCATE(q3d(iip1, jjp1, llm, nqtot)) 190 ! CALL phys_state_var_init() 189 191 ! 190 192 latfi(1) = ASIN(1.0) … … 243 245 244 246 write(*,*)'Essai de lecture masque ocean' 245 iret = nf _open("o2a.nc", NF_NOWRITE, nid_o2a)247 iret = nf90_open("o2a.nc", NF90_NOWRITE, nid_o2a) 246 248 if (iret .ne. 0) then 247 249 write(*,*)'ATTENTION!! pas de fichier o2a.nc trouve' … … 262 264 else 263 265 couple = .true. 264 iret = nf _close(nid_o2a)266 iret = nf90_close(nid_o2a) 265 267 call flininfo("o2a.nc", iml_omask, jml_omask, llm_tmp, ttm_tmp 266 268 $ , nid_o2a) … … 399 401 . maxval(qsat(:,:,:)) 400 402 ! 401 WRITE(*,*) 'QSAT :', qsat(10,20,:)403 CC WRITE(*,*) 'QSAT :', qsat(10,20,:) 402 404 ! 403 405 varname = 'q' … … 410 412 q3d(:,:,:,1) = qd(:,:,:) 411 413 ! 414 415 if (read_climoz) call regr_lat_time_climoz ! ozone climatology 416 412 417 varname = 'tsol' 413 418 ! This line needs to be replaced by a call to restget to get the values in the restart file … … 474 479 . jjm, rlonu, rlatv , interbar ) 475 480 c 476 rugsrel(:) = 0.0477 IF(ok_orodr) THEN478 DO i = 1, iip1* jjp1479 rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. )480 ENDDO481 ENDIF481 cc rugsrel(:) = 0.0 482 cc IF(ok_orodr) THEN 483 cc DO i = 1, iip1* jjp1 484 cc rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. ) 485 cc ENDDO 486 cc ENDIF 482 487 483 488 … … 750 755 751 756 C Sortie Visu pour les champs dynamiques 752 if (1.eq.0 ) then753 print*,'sortie visu'754 time_step = 1.755 t_ops = 2.756 t_wrt = 2.757 itau = 2.758 visu_file='Etat0_visu.nc'759 CALL initdynav(visu_file,dayref,anneeref,time_step,760 . t_ops, t_wrt, visuid)761 CALL writedynav(visuid, itau,vvent ,762 . uvent,tpot,pk,phi,q3d,masse,psol,phis)763 else757 cc if (1.eq.0 ) then 758 cc print*,'sortie visu' 759 cc time_step = 1. 760 cc t_ops = 2. 761 cc t_wrt = 2. 762 cc itau = 2. 763 cc visu_file='Etat0_visu.nc' 764 cc CALL initdynav(visu_file,dayref,anneeref,time_step, 765 cc . t_ops, t_wrt, visuid) 766 cc CALL writedynav(visuid, itau,vvent , 767 cc . uvent,tpot,pk,phi,q3d,masse,psol,phis) 768 cc else 764 769 print*,'CCCCCCCCCCCCCCCCCC REACTIVER SORTIE VISU DANS ETAT0' 765 endif770 cc endif 766 771 print*,'entree histclo' 767 772 CALL histclo … … 772 777 ! 773 778 END SUBROUTINE etat0_netcdf 774
Note: See TracChangeset
for help on using the changeset viewer.