old-namelist_OSISAF-mask 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. !! -------------------
  2. !! Namelist for SOSIE
  3. !! -------------------
  4. !!
  5. !! ***********************
  6. !! Input characteristics :
  7. !! ***********************
  8. !!
  9. !!&ninput
  10. &ndom_src
  11. csource = 'OSI-SAF-450'
  12. ivect = 0 ! this is not a vector interpolation
  13. l_reg_src = .false. ! input grid is regular (lon and lat are "1D")
  14. cf_src = 'mask_in_HHEEMMII-TTAAGG.nc'
  15. cv_src = 'mask'
  16. cv_t_src = 'time'
  17. cf_x_src = 'mask_in_HHEEMMII-TTAAGG.nc' ! AD add but not sure what is it ... WARNING
  18. cv_lon_src = 'lon'
  19. cv_lat_src = 'lat'
  20. cf_lsm_src = 'missing_value' ! we use 'missing_value' of input field to determine
  21. cv_lsm_src = '' ! the land-sea-mask
  22. ewper_src = -1
  23. !!
  24. !! Only required if 3D interpolation (jplev==0):
  25. cf_z_src = ''
  26. cv_z_src = ''
  27. !! ROMS s-coordinates stuff only:
  28. ctype_z_src = ''
  29. cf_bathy_src = ''
  30. cv_bathy_src = ''
  31. !! ROMS s-coordinates parameters (if ctype_z_src or/and ctype_z_trg = 'sigma' )
  32. !! Vtransform | Vstretching | Nlevels | theta_s | theta_b | Tcline | hmin
  33. !ssig_src = 2, 4, 40, 7., 2., 250. , 15.
  34. /
  35. /
  36. !!
  37. !! No need for sosiev3, so removed (AD)
  38. !!jt1 = 0 ! we want to interpolate each time record
  39. !!jt2 = 0 !
  40. !!
  41. !!ldrown = F ! we want to propagate sea values onto the land-sea mask
  42. !!ewper = -1 ! input field does have east-west periodicity with 0 overlapping point
  43. !!vmax = 1
  44. !!vmin = 0!!
  45. !!
  46. !! ***********************************
  47. !! IF 3D INTERPOLATION ( jplev = 0 )
  48. !! ***********************************
  49. !!
  50. !! This namelist section is not required as we do pure 2D interpolation
  51. !!
  52. !!
  53. !!
  54. !! *****************************
  55. !! Output Grid characteristics :
  56. !! *****************************
  57. !!
  58. !!
  59. !&noutput
  60. !!
  61. &ndom_trg
  62. ctarget = 'eORCA1'
  63. l_reg_trg = .false.
  64. cf_x_trg = '/gpfs/home/acad/ucl-elic/adelhass/git/EnKF/conversion_uf/mask-eORCA1.nc'
  65. cv_lon_trg = 'nav_lon'
  66. cv_lat_trg = 'nav_lat'
  67. cf_lsm_trg = '/gpfs/home/acad/ucl-elic/adelhass/git/EnKF/conversion_uf/mask-eORCA1.nc'
  68. cv_lsm_trg = 'tmask'
  69. ewper_trg = 2
  70. !lmout = T
  71. !rmaskvalue = -99999999.
  72. !lct = F ! we use time from input file
  73. !t0 = 0
  74. !t_stp = 0
  75. /
  76. !!
  77. !!
  78. !!
  79. !!
  80. !! *******************************
  81. !! Netcdf output characteristics :
  82. !! *******************************
  83. !!
  84. !!&nnetcdf
  85. !!cmethod = 'bilin'
  86. !!cv_l_out = 'nav_lon'
  87. !!cv_p_out = 'nav_lat'
  88. !!cv_t_out = 'time_counter'
  89. !!cv_out = 'tmask'
  90. !!cu_out = ''
  91. !!cu_t = ''
  92. !!cln_out = 'tmask'
  93. !!cd_out = '.'
  94. !!csource = 'OSISAF-HHEEMMII'
  95. !!ctarget = 'TTAARRGGEETT'
  96. !!cextra = 'TTAAGG'
  97. !!/
  98. !!
  99. !!
  100. !! *****************************************************************
  101. !! &ninterp => stuff related to interpolation and pre/post processing
  102. !! of data
  103. !! *****************************************************************
  104. !!
  105. !! cmethod : the 2D interpolation method to be used
  106. !!
  107. !! * use 'akima' if your source domain is regular (non-distorted grid)
  108. !!
  109. !! * use 'bilin' otherwise (bilinear 2D interpolation)
  110. !!
  111. !! * use 'no_xy' to only perform vertical interpolation, i.e. interpolate a
  112. !! a 3D field given on ni*nj and nk_src levels to the same ni*nj 2D domain
  113. !! but on nk_trg levels!
  114. !! => for example interpolates a 3D field from grid ORCAX.L46 to ORCAX.L75
  115. !!
  116. !! idrown : Three values in this structure: np_drown, nt_smooth, l_msk_chg ([integer],[integer],[boolean]):
  117. !! * np_drown : whether we call DROWN land filling procedure (>0) or not (=0)
  118. !! which propagates/extrapolates sea values (defined where lsm==1) of field
  119. !! cv_src by "np_drown" grid points over land regions (defined where lsm==0)
  120. !! * nt_smooth : the number of time smoothing is applied on drowned regions
  121. !! (only performed on land regions)
  122. !! * l_msk_chg : wether the missing/masked points region (land) on source field is changing with time!
  123. !! => this treatment has absolutely no impact over sea regions, only over land
  124. !! regions, it is intended to prevent land values to polute/contaminate sea
  125. !! regions during the interpolation process!
  126. !!
  127. !! ixtrpl_bot : in case of 3D interpolation, this option forces sosie to vertically
  128. !! extrapolate the source field (on its source grid) downward into the
  129. !! bedrock prior to interpolation
  130. !! = 0 : not used
  131. !! = 1 : used, method => persistence of the wet bottom point value
  132. !! = 2 : used, method => using the DROWN routine...
  133. !!
  134. !! l_save_drwn : save the input field after it has undergone "DROWNING" (idrown > 0!)
  135. !! and/or downward bedrock extrapolation (ixtrpl_bot > 0!)
  136. !!
  137. !! ismooth : if ismooth > 0 the field to be interpolated will be smoothed
  138. !! prior to interpolation. By applying ismooth times a type of
  139. !! closest neighboors boxcar smoothing algorithm
  140. !! (check "SMOOTH" of mod_drown.f90)
  141. !! => this is usefull to avoid sub-sampling when your target
  142. !! grid is much coarser than your source grid
  143. !! (i.e. when interpolating from high-res to low-res)
  144. !! => start with a multiple of 10, typically 20, and adjust depending
  145. !! on the result
  146. !!
  147. !! jt1 : first time record to be interpolated
  148. !! jt2 : last time record to be interpolated
  149. !! => set jt1 and jt2 to 0 if you want to skip this option
  150. !! and interpolate the nt time steps of the current field
  151. !!
  152. !! jplev : level to treat if your file is 3D (spatial), has no influence if
  153. !! your file is 2D in space !
  154. !! ------------------------------------------------------------------
  155. !! jplev > 0 = level to treat (ex : jplev = 1 will interpolate only
  156. !! surface field corresponding to the 1st level )
  157. !! ------------------------------------------------------------------
  158. !! jplev = 0 : perform 3D interpolation (if source file is 3D) !!! |
  159. !! ------------------------------------------------------------------
  160. !! jplev = -1 : overrides good sense and forces sosie to understand that
  161. !! your field to interpolate is 2D with a time record
  162. !! (usually the case if the time record dimension in your
  163. !! source file is not declared as UNLIMITED => bad! )
  164. !! => so SOSIE doesn't mistake this time record with a depth!
  165. !! -------------------------------------------------------------------
  166. !!
  167. !! vmax : upper bound not to exceed for treated variable [real]
  168. !! vmin : lower bound not to exceed for treated variable [real]
  169. !!
  170. !! ismooth_out : smooth the freshly interpolated field on the target grid
  171. !! ismooth_out times! (see ismooth above)
  172. !!
  173. &ninterp
  174. cmethod = 'bilin'
  175. !!
  176. idrown = 100,50,.FALSE.
  177. ixtrpl_bot = 0
  178. l_save_drwn = .false.
  179. ismooth = 0
  180. jt1 = 0
  181. jt2 = 0
  182. jplev = 1
  183. vmax = 1.E6
  184. vmin = -1.E6
  185. ismooth_out = 0
  186. ibx_xtra_sm = 0, 0,0, 0,0 ! Extra-smoothing on a given rectangular region: ibx_xtra_sm = ntimes, i1,j1, i2,j2
  187. /
  188. !!
  189. !!
  190. !! *****************************************************************
  191. !! &noutput => info on the (horizontal) interpolation method to use
  192. !! and the netcdf file to generate
  193. !! *****************************************************************
  194. !!
  195. !! This mostly deals with how the output file to be created is going to look like!
  196. !!
  197. !!
  198. !! *** Into the netcdf file to be created : ***
  199. !! cv_out : name for treated variable in the output file [char]
  200. !! cu_out : if not = '': then change the unit of treated variable units [char]
  201. !! cln_out : if not = '': then change the long name treated variable [char]
  202. !! cv_t_out : name of time record vector in the output file [char]
  203. !! => set to cv_t_out='' if no time dimension
  204. !! cd_out : directory to create output file to [char]
  205. !!
  206. !! *** Naming of the output file : ***
  207. !! cextra : short extra indication about the file [char]
  208. !!
  209. !! lmout : whether to mask the interpolated field on the target file [logical]
  210. !! if lmout is set to .FALSE. and cf_lsm_trg is different than '' the target
  211. !! field will be drowned using the mask defined by cf_lsm_trg (and cv_lsm_trg)
  212. !!
  213. !! rmiss_val : missing value given to target field (for continents) [real]
  214. !!
  215. !! lct : whether to control or not time variable [logical]
  216. !! TRUE -> specify time array with starting time 't0' and step 't_stp'
  217. !! usefull if you do not have a "time" variable in your source netcdf file !
  218. !! FALSE -> same time array as in source file is used
  219. !! t0 : time to start (if lct is set to .TRUE.) [real]
  220. !! t_stp : time step (if lct is set to .TRUE.) [real]
  221. !!
  222. !! Only required if 3D interpolation (jplev==0):
  223. !! cv_z_out: name you wish to give to depth variable in file to be created...
  224. !!
  225. !!
  226. &noutput
  227. cv_out = 'tmask'
  228. cu_out = ''
  229. cln_out = 'tmask'
  230. cv_t_out = 'time_counter'
  231. cd_out = '.'
  232. cextra = 'TTAAGG'
  233. lmout = .true.
  234. rmiss_val = -99999999.
  235. lct = .false.
  236. t0 = 0.
  237. t_stp = 0.
  238. !! Only required if 3D interpolation (jplev==0):
  239. cv_z_out = 'depth'
  240. /