/[lmdze]/trunk/libf/dyn3d/etat0.f90
ViewVC logotype

Diff of /trunk/libf/dyn3d/etat0.f90

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 36 by guez, Thu Dec 2 17:11:04 2010 UTC revision 49 by guez, Wed Aug 24 11:43:14 2011 UTC
# Line 17  contains Line 17  contains
17    
18      ! From "etat0_netcdf.F", version 1.3 2005/05/25 13:10:09      ! From "etat0_netcdf.F", version 1.3 2005/05/25 13:10:09
19    
     ! This subroutine creates "mask".  
   
20      use caldyn0_m, only: caldyn0      use caldyn0_m, only: caldyn0
21      use comconst, only: dtvr, daysec, cpp, kappa, pi      use comconst, only: dtvr, daysec, cpp, kappa
22      use comgeom, only: rlatu, rlonv, rlonu, rlatv, aire_2d, apoln, apols, &      use comgeom, only: rlatu, rlonv, rlonu, rlatv, aire_2d, apoln, apols, &
23           cu_2d, cv_2d           cu_2d, cv_2d
24      use comvert, only: ap, bp, preff, pa      use comvert, only: ap, bp, preff, pa
# Line 31  contains Line 29  contains
29      use dynredem0_m, only: dynredem0      use dynredem0_m, only: dynredem0
30      use dynredem1_m, only: dynredem1      use dynredem1_m, only: dynredem1
31      use exner_hyb_m, only: exner_hyb      use exner_hyb_m, only: exner_hyb
32        USE flincom, only: flinclo, flinopen_nozoom, flininfo
33        use geopot_m, only: geopot
34      use grid_atob, only: grille_m      use grid_atob, only: grille_m
35      use grid_change, only: init_dyn_phy, dyn_phy      use grid_change, only: init_dyn_phy, dyn_phy
36        use histcom, only: histclo
37      use indicesol, only: is_oce, is_sic, is_ter, is_lic, epsfra      use indicesol, only: is_oce, is_sic, is_ter, is_lic, epsfra
38      use iniadvtrac_m, only: iniadvtrac      use iniadvtrac_m, only: iniadvtrac
39      use inidissip_m, only: inidissip      use inidissip_m, only: inidissip
40      use inigeom_m, only: inigeom      use inigeom_m, only: inigeom
41      USE flincom, only: flinclo, flinopen_nozoom, flininfo      use netcdf, only: nf90_nowrite
42      use flinget_m, only: flinget      use netcdf95, only: nf95_open, nf95_close, nf95_get_var, nf95_inq_varid
43      use histcom, only: histclo      use nr_util, only: pi
44      use paramet_m, only: ip1jm, ip1jmp1      use paramet_m, only: ip1jm, ip1jmp1
45      use phyredem_m, only: phyredem      use phyredem_m, only: phyredem
46      use pressure_var, only: pls, p3d      use pressure_var, only: pls, p3d
# Line 48  contains Line 49  contains
49      use regr_pr_o3_m, only: regr_pr_o3      use regr_pr_o3_m, only: regr_pr_o3
50      use serre, only: alphax      use serre, only: alphax
51      USE start_init_orog_m, only: start_init_orog, mask, phis      USE start_init_orog_m, only: start_init_orog, mask, phis
52      use start_init_phys_m, only: qsol_2d      use start_init_phys_m, only: start_init_phys
53      use startdyn, only: start_inter_3d, start_init_dyn      use startdyn, only: start_inter_3d, start_init_dyn
54      use temps, only: itau_phy, annee_ref, day_ref      use temps, only: itau_phy, annee_ref, day_ref
55    
# Line 81  contains Line 82  contains
82      REAL rugmer(klon)      REAL rugmer(klon)
83      real, dimension(iim + 1, jjm + 1):: relief, zstd_2d, zsig_2d, zgam_2d      real, dimension(iim + 1, jjm + 1):: relief, zstd_2d, zsig_2d, zgam_2d
84      real, dimension(iim + 1, jjm + 1):: zthe_2d, zpic_2d, zval_2d      real, dimension(iim + 1, jjm + 1):: zthe_2d, zpic_2d, zval_2d
85      real, dimension(iim + 1, jjm + 1):: tsol_2d, psol      real, dimension(iim + 1, jjm + 1):: tsol_2d, qsol_2d, psol
86      REAL zmea(klon), zstd(klon)      REAL zmea(klon), zstd(klon)
87      REAL zsig(klon), zgam(klon)      REAL zsig(klon), zgam(klon)
88      REAL zthe(klon)      REAL zthe(klon)
# Line 91  contains Line 92  contains
92      real clwcon(klon, llm), rnebcon(klon, llm), ratqs(klon, llm)      real clwcon(klon, llm), rnebcon(klon, llm), ratqs(klon, llm)
93      ! déclarations pour lecture glace de mer      ! déclarations pour lecture glace de mer
94      INTEGER iml_lic, jml_lic, llm_tmp, ttm_tmp      INTEGER iml_lic, jml_lic, llm_tmp, ttm_tmp
95      INTEGER itaul(1), fid      INTEGER itaul(1), fid, ncid, varid
96      REAL lev(1), date      REAL lev(1), date
97      REAL, ALLOCATABLE:: lon_lic(:, :), lat_lic(:, :)      REAL, ALLOCATABLE:: lon_lic(:, :), lat_lic(:, :)
98      REAL, ALLOCATABLE:: dlon_lic(:), dlat_lic(:)      REAL, ALLOCATABLE:: dlon_lic(:), dlat_lic(:)
# Line 140  contains Line 141  contains
141      zmasq = pack(mask, dyn_phy)      zmasq = pack(mask, dyn_phy)
142      PRINT *, 'Masque construit'      PRINT *, 'Masque construit'
143    
144      CALL start_init_dyn(tsol_2d, psol) ! also compute "qsol_2d"      call start_init_phys(tsol_2d, qsol_2d)
145        CALL start_init_dyn(tsol_2d, psol)
146    
147      ! Compute pressure on intermediate levels:      ! Compute pressure on intermediate levels:
148      forall(l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * psol      forall(l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * psol
149      CALL exner_hyb(psol, p3d, pks, pk)      CALL exner_hyb(psol, p3d, pks, pk)
150      IF (MINVAL(pk) == MAXVAL(pk)) stop '"pk" should not be constant'      IF (MINVAL(pk) == MAXVAL(pk)) then
151           print *, '"pk" should not be constant'
152           stop 1
153        end IF
154    
155      pls = preff * (pk / cpp)**(1. / kappa)      pls = preff * (pk / cpp)**(1. / kappa)
156      PRINT *, "minval(pls) = ", minval(pls)      PRINT *, "minval(pls) = ", minval(pls)
# Line 212  contains Line 217  contains
217      zpic = pack(zpic_2d, dyn_phy)      zpic = pack(zpic_2d, dyn_phy)
218      zval = pack(zval_2d, dyn_phy)      zval = pack(zval_2d, dyn_phy)
219    
220      ! On initialise les sous-surfaces:      ! On initialise les sous-surfaces.
221      ! Lecture du fichier glace de terre pour fixer la fraction de terre      ! Lecture du fichier glace de terre pour fixer la fraction de terre
222      ! et de glace de terre:      ! et de glace de terre :
223      CALL flininfo("landiceref.nc", iml_lic, jml_lic, llm_tmp, &      CALL flininfo("landiceref.nc", iml_lic, jml_lic, llm_tmp, &
224           ttm_tmp, fid)           ttm_tmp, fid)
225      ALLOCATE(lat_lic(iml_lic, jml_lic))      ALLOCATE(lat_lic(iml_lic, jml_lic))
# Line 225  contains Line 230  contains
230      CALL flinopen_nozoom(iml_lic, jml_lic, &      CALL flinopen_nozoom(iml_lic, jml_lic, &
231           llm_tmp, lon_lic, lat_lic, lev, ttm_tmp, itaul, date, trash,  &           llm_tmp, lon_lic, lat_lic, lev, ttm_tmp, itaul, date, trash,  &
232           fid)           fid)
     CALL flinget(fid, 'landice', iml_lic, jml_lic, llm_tmp, ttm_tmp &  
          , 1, 1, fraclic)  
233      CALL flinclo(fid)      CALL flinclo(fid)
234        call nf95_open("landiceref.nc", nf90_nowrite, ncid)
235        call nf95_inq_varid(ncid, 'landice', varid)
236        call nf95_get_var(ncid, varid, fraclic)
237        call nf95_close(ncid)
238    
239      ! Interpolation sur la grille T du modèle :      ! Interpolation sur la grille T du modèle :
240      PRINT *, 'Dimensions de "landice"'      PRINT *, 'Dimensions de "landice"'

Legend:
Removed from v.36  
changed lines
  Added in v.49

  ViewVC Help
Powered by ViewVC 1.1.21