Changeset 13369 for utils/tools/SIREN/src/create_layout.f90
- Timestamp:
- 2020-07-31T10:50:52+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
utils/tools/SIREN/src/create_layout.f90
r12080 r13369 5 5 ! DESCRIPTION: 6 6 !> @file 7 !> @brief 7 !> @brief 8 8 !> This program creates/computes the domain layout for you configuration. 9 9 !> … … 15 15 !> Then the number of sea/land processors is compute with mask. 16 16 !> 17 !> The optimized domain layout is assumed to be the domain layout, with the the most land 17 !> The optimized domain layout is assumed to be the domain layout, with the the most land 18 18 !> processors removed. If no land processor could be removed, it assumed to be the domain layout 19 19 !> with the most sea processors. … … 44 44 !> 45 45 !> here after, each sub-namelist parameters is detailed. 46 !> @note 46 !> @note 47 47 !> default values are specified between brackets 48 48 !> … … 63 63 !> - none 64 64 !> 65 !> - **in_maxerror** [@a 5]<br/> 65 !> - **in_maxerror** [@a 5]<br/> 66 66 !> maximum number of error allowed 67 67 !> … … 71 71 !> - **cn_varcfg** [@a ./cfg/variable.cfg]<br/> 72 72 !> path to the variable configuration file.<br/> 73 !> the variable configuration file defines standard name, 74 !> default interpolation method, axis,... 75 !> to be used for some known variables.<br/> 76 !> 77 !> - **cn_dimcfg** [@a ./cfg/dimension.cfg]<br/> 78 !> path to the dimension configuration file.<br/> 79 !> the dimension configuration file defines dimensions allowed.<br/> 80 !> 81 !> - **cn_dumcfg** [@a ./cfg/dummy.cfg]<br/> 73 !> the variable configuration file defines standard name, 74 !> default interpolation method, axis,... 75 !> to be used for some known variables.<br/> 76 !> 77 !> - **cn_dimcfg** [@a ./cfg/dimension.cfg]<br/> 78 !> path to the dimension configuration file.<br/> 79 !> the dimension configuration file defines dimensions allowed.<br/> 80 !> 81 !> - **cn_dumcfg** [@a ./cfg/dummy.cfg]<br/> 82 82 !> path to the useless (dummy) configuration file.<br/> 83 !> the dummy configuration file defines useless 83 !> the dummy configuration file defines useless 84 84 !> dimension or variable. these dimension(s) or variable(s) will not be 85 85 !> processed.<br/> 86 86 !> 87 !> @subsection subvar namvar 87 !> @subsection subvar namvar 88 88 !> the variable sub-namelist parameters are : 89 89 !> 90 !> - **cn_varfile** [@a ]<br/> 91 !> list of variable, and associated file 92 !> @warning 90 !> - **cn_varfile** [@a ]<br/> 91 !> list of variable, and associated file 92 !> @warning 93 93 !> variable name must be __Bathymetry__ here. 94 94 !> 95 95 !> - **cn_varfile** [@a ]<br/>: 96 !> list of variable, and associated file.<br/> 96 !> list of variable, and associated file.<br/> 97 97 !> *cn_varfile* is the path and filename of the file where find 98 98 !> variable to be used as mask grid.<br/> 99 99 !> 100 !> Examples: 100 !> Examples: 101 101 !> - 'Bathymetry:bathy_meter.nc' 102 102 !> 103 !> @subsection subout namout 103 !> @subsection subout namout 104 104 !> the output sub-namelist parameters are : 105 105 !> … … 114 114 !> - if *in_niproc*, and *in_njproc* are provided : the program only look for land 115 115 !> processor to be removed 116 !> - if *in_nproc* is provided : the program compute each possible domain layout, 117 !> and save the one with the most land processor to be removed 116 !> - if *in_nproc* is provided : the program compute each possible domain layout, 117 !> and save the one with the most land processor to be removed 118 118 !> - with no information about number of processors, the program 119 119 !> assume to use only one processor … … 136 136 USE fct ! basic useful function 137 137 USE date ! date manager 138 USE math ! 138 USE math ! 139 139 USE att ! attribute manager 140 140 USE dim ! dimension manager … … 174 174 175 175 TYPE(TMULTI) :: tl_multi 176 176 177 177 ! namelist variable 178 178 ! namlog 179 CHARACTER(LEN=lc) :: cn_logfile = 'create_layout.log' 180 CHARACTER(LEN=lc) :: cn_verbosity = 'warning' 179 CHARACTER(LEN=lc) :: cn_logfile = 'create_layout.log' 180 CHARACTER(LEN=lc) :: cn_verbosity = 'warning' 181 181 INTEGER(i4) :: in_maxerror = 5 182 182 183 183 ! namcfg 184 CHARACTER(LEN=lc) :: cn_varcfg = './cfg/variable.cfg' 184 CHARACTER(LEN=lc) :: cn_varcfg = './cfg/variable.cfg' 185 185 CHARACTER(LEN=lc) :: cn_dimcfg = './cfg/dimension.cfg' 186 186 CHARACTER(LEN=lc) :: cn_dumcfg = './cfg/dummy.cfg' … … 191 191 ! namout 192 192 INTEGER(i4) :: in_niproc = 0 193 INTEGER(i4) :: in_njproc = 0 193 INTEGER(i4) :: in_njproc = 0 194 194 INTEGER(i4) :: in_nproc = 0 195 195 !------------------------------------------------------------------- … … 206 206 207 207 NAMELIST /namvar/ & !< source grid namelist 208 & cn_varfile !< input file and mask variable 208 & cn_varfile !< input file and mask variable 209 209 210 210 NAMELIST /namout/ & !< output namelist … … 212 212 & in_njproc, & 213 213 & in_nproc 214 !------------------------------------------------------------------- 214 !------------------------------------------------------------------- 215 215 216 216 ! … … 224 224 IF( il_narg /= 1 )THEN 225 225 WRITE(cl_errormsg,*) ' ERROR : one argument is needed ' 226 CALL fct_help(cp_myname,cl_errormsg) 226 CALL fct_help(cp_myname,cl_errormsg) 227 227 CALL EXIT(1) 228 228 ELSE … … 259 259 IF( il_status /= 0 )THEN 260 260 WRITE(cl_errormsg,*) " ERROR : error opening "//TRIM(cl_namelist) 261 CALL fct_help(cp_myname,cl_errormsg) 261 CALL fct_help(cp_myname,cl_errormsg) 262 262 CALL EXIT(1) 263 263 ENDIF … … 298 298 299 299 WRITE(cl_errormsg,*) " ERROR : can't find "//TRIM(cl_namelist) 300 CALL fct_help(cp_myname,cl_errormsg) 300 CALL fct_help(cp_myname,cl_errormsg) 301 301 CALL EXIT(1) 302 302 … … 314 314 315 315 CALL multi_print(tl_multi) 316 316 317 317 ! open file 318 318 tl_file=file_init(TRIM(tl_multi%t_mpp(1)%c_name))
Note: See TracChangeset
for help on using the changeset viewer.