Changeset 1154 for LMDZ4/branches/LMDZ4-dev/libf/dyn3d/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/dyn3d/etat0_netcdf.F
r1151 r1154 14 14 USE phys_state_var_mod 15 15 USE filtreg_mod 16 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" … … 49 50 REAL :: vvent(iip1, jjm, llm) 50 51 REAL :: t3d(iip1, jjp1, llm), tpot(iip1, jjp1, llm) 51 REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: q3d52 52 REAL :: qsat(iip1, jjp1, llm) 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 … … 102 104 REAL :: w(ip1jmp1,llm) 103 105 REAL ::phystep 104 REAL :: rugsrel(iip1*jjp1)106 CC REAL :: rugsrel(iip1*jjp1) 105 107 REAL :: fder(klon) 106 real zrel(iip1*jjp1),chmin,chmax107 108 CHARACTER*80:: visu_file108 !! real zrel(iip1*jjp1),chmin,chmax 109 110 !! CHARACTER(len=80) :: visu_file 109 111 INTEGER :: visuid 110 112 … … 140 142 REAL :: solarlong0 141 143 real :: seuil_inversion 144 logical read_climoz ! read ozone climatology 142 145 143 146 ! … … 163 166 ! CALL defrun_new(99,.TRUE.,clesphy0) 164 167 CALL conf_gcm( 99, .TRUE. , clesphy0 ) 165 call conf_phys(ok_journe, ok_mensuel, ok_instan, & 166 & ok_hf, ok_LES, & 168 call conf_phys( ok_journe, ok_mensuel, ok_instan, ok_hf, ok_LES, & 167 169 & solarlong0,seuil_inversion, & 168 170 & fact_cldcon, facttemps,ok_newmicro,iflag_radia, & … … 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 ) 179 177 180 dtvr = daysec/FLOAT(day_step) 178 181 print*,'dtvr',dtvr 179 182 180 181 182 183 CALL iniconst() 183 184 CALL inigeom() 184 185 185 186 ! Initialisation pour traceurs 186 CALL infotrac_init 187 ALLOCATE(q3d(iip1,jjp1,llm,nqtot)) 188 187 call infotrac_init 188 ALLOCATE(q3d(iip1, jjp1, llm, nqtot)) 189 189 190 190 CALL inifilr() … … 246 246 247 247 write(*,*)'Essai de lecture masque ocean' 248 iret = nf _open("o2a.nc", NF_NOWRITE, nid_o2a)248 iret = nf90_open("o2a.nc", NF90_NOWRITE, nid_o2a) 249 249 if (iret .ne. 0) then 250 250 write(*,*)'ATTENTION!! pas de fichier o2a.nc trouve' … … 265 265 else 266 266 couple = .true. 267 iret = nf _close(nid_o2a)267 iret = nf90_close(nid_o2a) 268 268 call flininfo("o2a.nc", iml_omask, jml_omask, llm_tmp, ttm_tmp 269 269 $ , nid_o2a) … … 402 402 . maxval(qsat(:,:,:)) 403 403 ! 404 WRITE(*,*) 'QSAT :', qsat(10,20,:)404 CC WRITE(*,*) 'QSAT :', qsat(10,20,:) 405 405 ! 406 406 varname = 'q' … … 413 413 q3d(:,:,:,1) = qd(:,:,:) 414 414 ! 415 416 if (read_climoz) call regr_lat_time_climoz ! ozone climatology 417 415 418 varname = 'tsol' 416 419 ! This line needs to be replaced by a call to restget to get the values in the restart file … … 477 480 . jjm, rlonu, rlatv , interbar ) 478 481 c 479 rugsrel(:) = 0.0480 IF(ok_orodr) THEN481 DO i = 1, iip1* jjp1482 rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. )483 ENDDO484 ENDIF482 cc rugsrel(:) = 0.0 483 cc IF(ok_orodr) THEN 484 cc DO i = 1, iip1* jjp1 485 cc rugsrel(i) = MAX( 1.e-05, zstd(i)* zsig(i) /2. ) 486 cc ENDDO 487 cc ENDIF 485 488 486 489 … … 716 719 q_ancien = 0. 717 720 agesno = 0. 721 c 718 722 frugs(1:klon,is_oce) = rugmer(1:klon) 719 723 frugs(1:klon,is_ter) = MAX(1.0e-05, zstd(1:klon)*zsig(1:klon)/2.0) … … 752 756 753 757 C Sortie Visu pour les champs dynamiques 754 if (1.eq.0 ) then755 print*,'sortie visu'756 time_step = 1.757 t_ops = 2.758 t_wrt = 2.759 itau = 2.760 visu_file='Etat0_visu.nc'761 CALL initdynav(visu_file,dayref,anneeref,time_step,762 . t_ops, t_wrt, visuid)763 CALL writedynav(visuid, itau,vvent ,764 . uvent,tpot,pk,phi,q3d,masse,psol,phis)765 else758 cc if (1.eq.0 ) then 759 cc print*,'sortie visu' 760 cc time_step = 1. 761 cc t_ops = 2. 762 cc t_wrt = 2. 763 cc itau = 2. 764 cc visu_file='Etat0_visu.nc' 765 cc CALL initdynav(visu_file,dayref,anneeref,time_step, 766 cc . t_ops, t_wrt, visuid) 767 cc CALL writedynav(visuid, itau,vvent , 768 cc . uvent,tpot,pk,phi,q3d,masse,psol,phis) 769 cc else 766 770 print*,'CCCCCCCCCCCCCCCCCC REACTIVER SORTIE VISU DANS ETAT0' 767 endif771 cc endif 768 772 print*,'entree histclo' 769 773 CALL histclo 770 771 DEALLOCATE(q3d)772 774 773 775 #endif … … 776 778 ! 777 779 END SUBROUTINE etat0_netcdf 778
Note: See TracChangeset
for help on using the changeset viewer.