- Timestamp:
- 2018-10-29T15:20:26+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/TOOLS/SIREN/src/merge_bathy.f90
r10248 r10251 28 28 !> @endcode 29 29 !> 30 !> @note31 !> you could find a template of the namelist in templates directory.32 !>33 30 !> merge_bathy.nam comprise 8 namelists: 34 31 !> - logger namelist (namlog) … … 48 45 !> - cn_logfile : logger filename 49 46 !> - cn_verbosity : verbosity ('trace','debug','info', 50 !> 'warning','error','fatal' ,'none')47 !> 'warning','error','fatal') 51 48 !> - in_maxerror : maximum number of error allowed 52 49 !> … … 65 62 !> * _variable namelist (namvar)_: 66 63 !> - cn_varinfo : list of variable and extra information about request(s) 67 !> to be used (separated by ',').<br/>64 !> to be used.<br/> 68 65 !> each elements of *cn_varinfo* is a string character.<br/> 69 66 !> it is composed of the variable name follow by ':', 70 67 !> then request(s) to be used on this variable.<br/> 71 68 !> request could be: 72 !> - int = interpolation method69 !> - interpolation method 73 70 !> 74 71 !> requests must be separated by ';'.<br/> … … 77 74 !> informations about available method could be find in 78 75 !> @ref interp modules.<br/> 79 !> Example: 'bathymetry: int=cubic'76 !> Example: 'bathymetry: cubic' 80 77 !> @note 81 78 !> If you do not specify a method which is required, … … 98 95 !> segments are separated by '|'.<br/> 99 96 !> each segments of the boundary is composed of: 100 !> - indice of velocity (orthogonal to boundary .ie.101 !> for north boundary, J-indice).102 !> - indice of segment start(I-indice for north boundary)103 !> - indice of segment end(I-indice for north boundary)<br/>104 !> indices must be separated by ' :' .<br/>97 !> - orthogonal indice (.ie. for north boundary, 98 !> J-indice where boundary are). 99 !> - first indice of boundary (I-indice for north boundary) 100 !> - last indice of boundary (I-indice for north boundary)<br/> 101 !> indices must be separated by ',' .<br/> 105 102 !> - optionally, boundary size could be added between '(' and ')' 106 103 !> in the first segment defined. … … 109 106 !> 110 107 !> Examples: 111 !> - cn_north='index1,first1:last1(width)' 112 !> - cn_north='index1(width),first1:last1|index2,first2:last2' 113 !> 108 !> - cn_north='index1,first1,last1(width)' 109 !> - cn_north='index1(width),first1,last1|index2,first2,last2' 114 110 !> - cn_south : south boundary indices on fine grid<br/> 115 111 !> - cn_east : east boundary indices on fine grid<br/> … … 125 121 !> @date Sepember, 2014 126 122 !> - add header for user 127 !> @date July, 2015128 !> - extrapolate all land points129 !> - add attributes with boundary string character (as in namelist)130 123 !> 131 124 !> @note Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 160 153 CHARACTER(LEN=lc) :: cl_namelist 161 154 CHARACTER(LEN=lc) :: cl_date 162 CHARACTER(LEN=lc) :: cl_tmp163 155 164 156 INTEGER(i4) :: il_narg … … 170 162 INTEGER(i4) :: il_jmin0 171 163 INTEGER(i4) :: il_jmax0 172 INTEGER(i4) :: il_shift173 164 INTEGER(i4) , DIMENSION(ip_maxdim) :: il_rho 174 165 INTEGER(i4) , DIMENSION(2,2) :: il_ind … … 240 231 NAMELIST /namlog/ & !< logger namelist 241 232 & cn_logfile, & !< log file 242 & cn_verbosity, & !< log verbosity 243 & in_maxerror !< logger maximum error 233 & cn_verbosity !< log verbosity 244 234 245 235 NAMELIST /namcfg/ & !< config namelist … … 308 298 READ( il_fileid, NML = namlog ) 309 299 ! define log file 310 CALL logger_open(TRIM(cn_logfile),TRIM(cn_verbosity), in_maxerror)300 CALL logger_open(TRIM(cn_logfile),TRIM(cn_verbosity), in_maxerror) 311 301 CALL logger_header() 312 302 … … 520 510 ENDIF 521 511 522 523 IF( tl_bdy(jp_north)%l_use )THEN524 ! add shift on north boundary525 ! boundary compute on T point but express on U or V point526 il_shift=1527 528 cl_tmp=TRIM(fct_str(tl_bdy(jp_north)%t_seg(1)%i_index-il_shift))//','//&529 & TRIM(fct_str(tl_bdy(jp_north)%t_seg(1)%i_first))//':'//&530 & TRIM(fct_str(tl_bdy(jp_north)%t_seg(1)%i_last))//&531 & '('//TRIM(fct_str(tl_bdy(jp_north)%t_seg(1)%i_width))//')'532 DO ji=2,tl_bdy(jp_north)%i_nseg533 cl_tmp=TRIM(cl_tmp)//'|'//&534 & TRIM(fct_str(tl_bdy(jp_north)%t_seg(ji)%i_index-il_shift))//','//&535 & TRIM(fct_str(tl_bdy(jp_north)%t_seg(ji)%i_first))//':'//&536 & TRIM(fct_str(tl_bdy(jp_north)%t_seg(ji)%i_last))537 ENDDO538 tl_att=att_init("bdy_north",TRIM(cl_tmp))539 CALL file_add_att(tl_fileout, tl_att)540 ENDIF541 542 IF( tl_bdy(jp_south)%l_use )THEN543 544 cl_tmp=TRIM(fct_str(tl_bdy(jp_south)%t_seg(1)%i_index))//','//&545 & TRIM(fct_str(tl_bdy(jp_south)%t_seg(1)%i_first))//':'//&546 & TRIM(fct_str(tl_bdy(jp_south)%t_seg(1)%i_last))//&547 & '('//TRIM(fct_str(tl_bdy(jp_south)%t_seg(1)%i_width))//')'548 DO ji=2,tl_bdy(jp_south)%i_nseg549 cl_tmp=TRIM(cl_tmp)//'|'//&550 & TRIM(fct_str(tl_bdy(jp_south)%t_seg(ji)%i_index))//','//&551 & TRIM(fct_str(tl_bdy(jp_south)%t_seg(ji)%i_first))//':'//&552 & TRIM(fct_str(tl_bdy(jp_south)%t_seg(ji)%i_last))553 ENDDO554 555 tl_att=att_init("bdy_south",TRIM(cl_tmp))556 CALL file_add_att(tl_fileout, tl_att)557 ENDIF558 559 IF( tl_bdy(jp_east)%l_use )THEN560 ! add shift on east boundary561 ! boundary compute on T point but express on U or V point562 il_shift=1563 564 cl_tmp=TRIM(fct_str(tl_bdy(jp_east)%t_seg(1)%i_index-il_shift))//','//&565 & TRIM(fct_str(tl_bdy(jp_east)%t_seg(1)%i_first))//':'//&566 & TRIM(fct_str(tl_bdy(jp_east)%t_seg(1)%i_last))//&567 & '('//TRIM(fct_str(tl_bdy(jp_east)%t_seg(1)%i_width))//')'568 DO ji=2,tl_bdy(jp_east)%i_nseg569 cl_tmp=TRIM(cl_tmp)//'|'//&570 & TRIM(fct_str(tl_bdy(jp_east)%t_seg(ji)%i_index-il_shift))//','//&571 & TRIM(fct_str(tl_bdy(jp_east)%t_seg(ji)%i_first))//':'//&572 & TRIM(fct_str(tl_bdy(jp_east)%t_seg(ji)%i_last))573 ENDDO574 575 tl_att=att_init("bdy_east",TRIM(cl_tmp))576 CALL file_add_att(tl_fileout, tl_att)577 ENDIF578 579 IF( tl_bdy(jp_west)%l_use )THEN580 581 cl_tmp=TRIM(fct_str(tl_bdy(jp_west)%t_seg(1)%i_index))//','//&582 & TRIM(fct_str(tl_bdy(jp_west)%t_seg(1)%i_first))//':'//&583 & TRIM(fct_str(tl_bdy(jp_west)%t_seg(1)%i_last))//&584 & '('//TRIM(fct_str(tl_bdy(jp_west)%t_seg(1)%i_width))//')'585 DO ji=2,tl_bdy(jp_west)%i_nseg586 cl_tmp=TRIM(cl_tmp)//'|'//&587 & TRIM(fct_str(tl_bdy(jp_west)%t_seg(ji)%i_index))//','//&588 & TRIM(fct_str(tl_bdy(jp_west)%t_seg(ji)%i_first))//':'//&589 & TRIM(fct_str(tl_bdy(jp_west)%t_seg(ji)%i_last))590 ENDDO591 592 tl_att=att_init("bdy_west",TRIM(cl_tmp))593 CALL file_add_att(tl_fileout, tl_att)594 ENDIF595 596 512 ! create file 597 513 CALL iom_create(tl_fileout) … … 609 525 CALL mpp_clean(tl_bathy0) 610 526 DEALLOCATE(dl_weight) 611 CALL boundary_clean(tl_bdy(:))612 527 613 528 ! close log file … … 993 908 994 909 ! extrapolate variable 995 CALL extrap_fill_value( td_var ) 910 CALL extrap_fill_value( td_var, id_offset=id_offset(:,:), & 911 & id_rho=id_rho(:), & 912 & id_iext=il_iext, id_jext=il_jext ) 996 913 997 914 ! interpolate Bathymetry
Note: See TracChangeset
for help on using the changeset viewer.