!! ------------------- !! 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 regular (lon and lat are "1D") 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 = -1 !! !! 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 = 'eORCA1' l_reg_trg = .false. cf_x_trg = '/gpfs/home/acad/ucl-elic/adelhass/git/EnKF/conversion_uf/mask-eORCA1.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-eORCA1.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,.FALSE. ixtrpl_bot = 0 l_save_drwn = .false. 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' /