123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- !! -------------------
- !! Namelist for SOSIE
- !! -------------------
- !!
- !! ***********************
- !! Input characteristics :
- !! ***********************
- !!
- !!&ninput
- &ndom_src
- csource = 'OSI-SAF-450'
- ivect = 0 ! this is not a vector interpolation
- l_reg_src = .false. ! input grid is not regular (lon and lat are "1D") then false.
- cf_src = 'mask_in_HHEEMMII-TTAAGG.nc'
- cv_src = 'mask'
- cv_t_src = 'time'
- cf_x_src = 'mask_in_HHEEMMII-TTAAGG.nc' ! AD add but not sure what is it ... WARNING
- cv_lon_src = 'lon'
- cv_lat_src = 'lat'
- cf_lsm_src = 'missing_value' ! we use 'missing_value' of input field to determine
- cv_lsm_src = '' ! the land-sea-mask
- ewper_src = 0
- !!
- !! Only required if 3D interpolation (jplev==0):
- !!cf_z_src = ''
- !!cv_z_src = ''
- !! ROMS s-coordinates stuff only:
- !!ctype_z_src = ''
- !!cf_bathy_src = ''
- !!cv_bathy_src = ''
- !! ROMS s-coordinates parameters (if ctype_z_src or/and ctype_z_trg = 'sigma' )
- !! Vtransform | Vstretching | Nlevels | theta_s | theta_b | Tcline | hmin
- !!ssig_src = 2, 4, 40, 7., 2., 250. , 15.
- /
- /
- !!
- !! No need for sosiev3, so removed (AD)
- !!jt1 = 0 ! we want to interpolate each time record
- !!jt2 = 0 !
- !!
- !!ldrown = F ! we want to propagate sea values onto the land-sea mask
- !!ewper = -1 ! input field does have east-west periodicity with 0 overlapping point
- !!vmax = 1
- !!vmin = 0!!
- !!
- !! ***********************************
- !! IF 3D INTERPOLATION ( jplev = 0 )
- !! ***********************************
- !!
- !! This namelist section is not required as we do pure 2D interpolation
- !!
- !!
- !!
- !! *****************************
- !! Output Grid characteristics :
- !! *****************************
- !!
- !!
- !&noutput
- !!
- &ndom_trg
- ctarget = 'ORCA1'
- l_reg_trg = .false.
- cf_x_trg = '/gpfs/home/acad/ucl-elic/adelhass/git/EnKF/conversion_uf/mask-ORCA1.nc'
- cv_lon_trg = 'nav_lon'
- cv_lat_trg = 'nav_lat'
- cf_lsm_trg = '/gpfs/home/acad/ucl-elic/adelhass/git/EnKF/conversion_uf/mask-ORCA1.nc'
- cv_lsm_trg = 'tmask'
- ewper_trg = 2
- !lmout = T
- !rmaskvalue = -99999999.
- !lct = F ! we use time from input file
- !t0 = 0
- !t_stp = 0
- /
- !!
- !!
- !!
- !!
- !! *******************************
- !! Netcdf output characteristics :
- !! *******************************
- !!
- !!&nnetcdf
- !!cmethod = 'bilin'
- !!cv_l_out = 'nav_lon'
- !!cv_p_out = 'nav_lat'
- !!cv_t_out = 'time_counter'
- !!cv_out = 'tmask'
- !!cu_out = ''
- !!cu_t = ''
- !!cln_out = 'tmask'
- !!cd_out = '.'
- !!csource = 'OSISAF-HHEEMMII'
- !!ctarget = 'TTAARRGGEETT'
- !!cextra = 'TTAAGG'
- !!/
- !!
- !!
- !! *****************************************************************
- !! &ninterp => stuff related to interpolation and pre/post processing
- !! of data
- !! *****************************************************************
- !!
- !! cmethod : the 2D interpolation method to be used
- !!
- !! * use 'akima' if your source domain is regular (non-distorted grid)
- !!
- !! * use 'bilin' otherwise (bilinear 2D interpolation)
- !!
- !! * use 'no_xy' to only perform vertical interpolation, i.e. interpolate a
- !! a 3D field given on ni*nj and nk_src levels to the same ni*nj 2D domain
- !! but on nk_trg levels!
- !! => for example interpolates a 3D field from grid ORCAX.L46 to ORCAX.L75
- !!
- !! idrown : Three values in this structure: np_drown, nt_smooth, l_msk_chg ([integer],[integer],[boolean]):
- !! * np_drown : whether we call DROWN land filling procedure (>0) or not (=0)
- !! which propagates/extrapolates sea values (defined where lsm==1) of field
- !! cv_src by "np_drown" grid points over land regions (defined where lsm==0)
- !! * nt_smooth : the number of time smoothing is applied on drowned regions
- !! (only performed on land regions)
- !! * l_msk_chg : wether the missing/masked points region (land) on source field is changing with time!
- !! => this treatment has absolutely no impact over sea regions, only over land
- !! regions, it is intended to prevent land values to polute/contaminate sea
- !! regions during the interpolation process!
- !!
- !! ixtrpl_bot : in case of 3D interpolation, this option forces sosie to vertically
- !! extrapolate the source field (on its source grid) downward into the
- !! bedrock prior to interpolation
- !! = 0 : not used
- !! = 1 : used, method => persistence of the wet bottom point value
- !! = 2 : used, method => using the DROWN routine...
- !!
- !! l_save_drwn : save the input field after it has undergone "DROWNING" (idrown > 0!)
- !! and/or downward bedrock extrapolation (ixtrpl_bot > 0!)
- !!
- !! ismooth : if ismooth > 0 the field to be interpolated will be smoothed
- !! prior to interpolation. By applying ismooth times a type of
- !! closest neighboors boxcar smoothing algorithm
- !! (check "SMOOTH" of mod_drown.f90)
- !! => this is usefull to avoid sub-sampling when your target
- !! grid is much coarser than your source grid
- !! (i.e. when interpolating from high-res to low-res)
- !! => start with a multiple of 10, typically 20, and adjust depending
- !! on the result
- !!
- !! jt1 : first time record to be interpolated
- !! jt2 : last time record to be interpolated
- !! => set jt1 and jt2 to 0 if you want to skip this option
- !! and interpolate the nt time steps of the current field
- !!
- !! jplev : level to treat if your file is 3D (spatial), has no influence if
- !! your file is 2D in space !
- !! ------------------------------------------------------------------
- !! jplev > 0 = level to treat (ex : jplev = 1 will interpolate only
- !! surface field corresponding to the 1st level )
- !! ------------------------------------------------------------------
- !! jplev = 0 : perform 3D interpolation (if source file is 3D) !!! |
- !! ------------------------------------------------------------------
- !! jplev = -1 : overrides good sense and forces sosie to understand that
- !! your field to interpolate is 2D with a time record
- !! (usually the case if the time record dimension in your
- !! source file is not declared as UNLIMITED => bad! )
- !! => so SOSIE doesn't mistake this time record with a depth!
- !! -------------------------------------------------------------------
- !!
- !! vmax : upper bound not to exceed for treated variable [real]
- !! vmin : lower bound not to exceed for treated variable [real]
- !!
- !! ismooth_out : smooth the freshly interpolated field on the target grid
- !! ismooth_out times! (see ismooth above)
- !!
- &ninterp
- cmethod = 'bilin'
- !!
- idrown = 100,50
- ixtrpl_bot = 0
- l_save_drwn = .true.
- ismooth = 0
- jt1 = 0
- jt2 = 0
- jplev = 1
- vmax = 1.E6
- vmin = -1.E6
- ismooth_out = 0
- !!ibx_xtra_sm = 0, 0,0, 0,0 ! Extra-smoothing on a given rectangular region: ibx_xtra_sm = ntimes, i1,j1, i2,j2
- /
- !!
- !!
- !! *****************************************************************
- !! &noutput => info on the (horizontal) interpolation method to use
- !! and the netcdf file to generate
- !! *****************************************************************
- !!
- !! This mostly deals with how the output file to be created is going to look like!
- !!
- !!
- !! *** Into the netcdf file to be created : ***
- !! cv_out : name for treated variable in the output file [char]
- !! cu_out : if not = '': then change the unit of treated variable units [char]
- !! cln_out : if not = '': then change the long name treated variable [char]
- !! cv_t_out : name of time record vector in the output file [char]
- !! => set to cv_t_out='' if no time dimension
- !! cd_out : directory to create output file to [char]
- !!
- !! *** Naming of the output file : ***
- !! cextra : short extra indication about the file [char]
- !!
- !! lmout : whether to mask the interpolated field on the target file [logical]
- !! if lmout is set to .FALSE. and cf_lsm_trg is different than '' the target
- !! field will be drowned using the mask defined by cf_lsm_trg (and cv_lsm_trg)
- !!
- !! rmiss_val : missing value given to target field (for continents) [real]
- !!
- !! lct : whether to control or not time variable [logical]
- !! TRUE -> specify time array with starting time 't0' and step 't_stp'
- !! usefull if you do not have a "time" variable in your source netcdf file !
- !! FALSE -> same time array as in source file is used
- !! t0 : time to start (if lct is set to .TRUE.) [real]
- !! t_stp : time step (if lct is set to .TRUE.) [real]
- !!
- !! Only required if 3D interpolation (jplev==0):
- !! cv_z_out: name you wish to give to depth variable in file to be created...
- !!
- !!
- &noutput
- cv_out = 'tmask'
- cu_out = ''
- cln_out = 'tmask'
- cv_t_out = 'time_counter'
- cd_out = '.'
- cextra = 'TTAAGG'
- lmout = .true.
- rmiss_val = -99999999.
- lct = .false.
- t0 = 0.
- t_stp = 0.
- !! Only required if 3D interpolation (jplev==0):
- !!cv_z_out = 'depth'
- /
|