Changeset 614


Ignore:
Timestamp:
Mar 30, 2005, 4:56:22 PM (19 years ago)
Author:
Laurent Fairhead
Message:

Rajout d'un cnat 'mixte'
Rajout d'un axe y bidon pour le lecture avec grads
LF

Location:
BOL/trunk/Class_Reg
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BOL/trunk/Class_Reg/config.def

    r606 r614  
    11# type de classification (w500 pour l'instant)
    22bintype=w500
    3 # sur quelle surface? (glob, ocea, land)
    4 cnat=ocea
     3# sur quelle surface? (glob, ocea, mixt, land)
     4cnat=land
    55# limites des latitudes a traiter -lat0 < donnees < lat0
    66lat0=30.0
  • BOL/trunk/Class_Reg/geo2reg.F90

    r613 r614  
    6262! netcdf stuff
    6363  real         :: time
    64   integer, dimension(:), allocatable :: var_dim
     64  real, dimension(:), allocatable :: var_dim
    6565  INTEGER      :: ierr, nvdims, lunout, in_file_id, ierrs, ndims, natts
    6666  integer      :: lonid, latid, in_time_id, varid, out_file_id, ngatts, levid
     
    140140!---------------------------------------------------------------------
    141141
    142   if (cnat.ne.'ocea'.and.cnat.ne.'land'.and.cnat.ne.'glob') then
     142  if (cnat.ne.'ocea'.and.cnat.ne.'land'.and.cnat.ne.'glob'.and.cnat.ne.'mixt')&
     143& then
    143144    write(*,*) 'erreur cnat ',cnat
    144145    stop
     
    273274    do j = 1, jm
    274275      ok_msk(i,j) = .FALSE.
    275       if (cnat.eq.'ocea' .and. msk(i,j).le.0.5) ok_msk(i,j) = .TRUE.
    276       if (cnat.eq.'land' .and. msk(i,j).gt.0.5) ok_msk(i,j) = .TRUE.
     276      if (cnat.eq.'ocea' .and. msk(i,j).le.0.01) ok_msk(i,j) = .TRUE.
     277      if (cnat.eq.'mixt' .and. msk(i,j).gt.0.01.and. msk(i,j).le.0.99) &
     278  &                                             ok_msk(i,j) = .TRUE.
     279      if (cnat.eq.'land' .and. msk(i,j).gt.0.99) ok_msk(i,j) = .TRUE.
    277280      if (cnat.eq.'glob') ok_msk(i,j) = .TRUE.
    278281    enddo
     
    315318  nvdims = 1
    316319  vdims(1) = nbin_id
    317   ierr = NF_DEF_VAR(out_file_id, 'nbin', NF_INT, nvdims, vdims, var_bin_id)
    318   ierrs = ierrs + ierr
    319   ierr = NF_PUT_ATT_TEXT(out_file_id, var_bin_id, 'units', 1, '-')
     320  ierr = NF_DEF_VAR(out_file_id, 'nbin', NF_FLOAT, nvdims, vdims, var_bin_id)
     321  ierrs = ierrs + ierr
     322  ierr = NF_PUT_ATT_TEXT(out_file_id, var_bin_id, 'units', 5, 'hPa/j')
    320323  ierrs = ierrs + ierr
    321324  ierr = NF_PUT_ATT_TEXT(out_file_id, var_bin_id, 'long_name', 15, &
     
    326329    stop
    327330  endif
     331!
     332! y bidon pour grads
     333  ierr = NF_DEF_DIM(out_file_id, 'lat', 1, latid)
     334  nvdims = 1
     335  vdims(1) = latid
     336  ierr = NF_DEF_VAR(out_file_id, 'lat', NF_FLOAT, nvdims, vdims,latid)
     337  ierr = NF_PUT_ATT_TEXT(out_file_id, latid, 'units', 13, 'degrees_north')
     338
    328339!
    329340! presnivs
     
    569580      endif ! lat
    570581    enddo ! j
    571     write(lunout,*)'nbre de points ou w500 < ',min_bin,' = ', nbr_inf
    572     write(lunout,*)'nbre de points ou w500 > ',max_bin,' = ', nbr_sup
     582    if (nbr_inf /=0) &
     583    & write(lunout,*)'nbre de points ou w500 < ',min_bin,' = ', nbr_inf
     584    if (nbr_sup /=0) &
     585    & write(lunout,*)'nbre de points ou w500 > ',max_bin,' = ', nbr_sup
    573586  enddo ! m
    574587
     
    620633  deallocate(var_dim)
    621634!
     635! ecriture y bidon
     636!
     637  ierr = NF_PUT_VAR1_REAL(out_file_id, latid, 1, 0.)
     638 
     639!
    622640! ecriture niveaux verticaux
    623641!
Note: See TracChangeset for help on using the changeset viewer.