Changeset 11268
- Timestamp:
- 2019-07-15T15:20:49+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/cfgs/AMM12/EXPREF/namelist_cfg
r11267 r11268 187 187 &nambdy_dta ! open boundaries - external data 188 188 !----------------------------------------------------------------------- 189 ln_full_vel = .false. 190 189 ln_zinterp = .false. ! T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 190 ! ! automatically defined to T if the number of vertical levels in bdy dta /= jpk 191 ln_full_vel = .false. ! T if [uv]3d are "full" velocities and not only its baroclinic components 192 ! ! in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 193 ! 191 194 cn_dir = './bdydta/' 192 195 !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/cfgs/SHARED/namelist_ref
r11267 r11268 605 605 ln_dyn3d_dmp =.false. ! open boundary condition for baroclinic velocities 606 606 rn_time_dmp = 1. ! Damping time scale in days 607 rn_time_dmp_out = 1. 607 rn_time_dmp_out = 1. ! Outflow damping time scale 608 608 nn_rimwidth = 10 ! width of the relaxation zone 609 609 ln_vol = .false. ! total volume correction (see nn_volctl parameter) … … 613 613 &nambdy_dta ! open boundaries - external data (see nam_bdy) 614 614 !----------------------------------------------------------------------- 615 ln_full_vel = .false. ! ??? 616 615 ln_zinterp = .false. ! T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 616 ! ! automatically defined to T if the number of vertical levels in bdy dta /= jpk 617 ln_full_vel = .false. ! T if [uv]3d are "full" velocities and not only its baroclinic components 618 ! ! in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 619 ! 617 620 cn_dir = 'bdydta/' ! root directory for the BDY data location 618 621 !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/cfgs/SPITZ12/EXPREF/namelist_cfg
r11267 r11268 181 181 &nambdy_dta ! open boundaries - external data (see nam_bdy) 182 182 !----------------------------------------------------------------------- 183 ln_full_vel = .false. ! ??? 184 183 ln_zinterp = .false. ! T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 184 ! ! automatically defined to T if the number of vertical levels in bdy dta /= jpk 185 ln_full_vel = .false. ! T if [uv]3d are "full" velocities and not only its baroclinic components 186 ! ! in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 187 ! 185 188 cn_dir = './' 186 189 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydta.F90
r11224 r11268 331 331 LOGICAL :: ln_full_vel ! =T => full velocities in 3D boundary data 332 332 ! ! =F => baroclinic velocities in 3D boundary data 333 INTEGER :: ipk,ipl ! 333 LOGICAL :: ln_zinterp ! =T => requires a vertical interpolation of the bdydta 334 INTEGER :: ipk,ipl ! 334 335 INTEGER :: idvar ! variable ID 335 336 INTEGER :: indims ! number of dimensions of the variable … … 348 349 NAMELIST/nambdy_dta/ cn_dir, bn_tem, bn_sal, bn_u3d, bn_v3d, bn_ssh, bn_u2d, bn_v2d 349 350 NAMELIST/nambdy_dta/ bn_a_i, bn_h_i, bn_h_s 350 NAMELIST/nambdy_dta/ ln_full_vel 351 NAMELIST/nambdy_dta/ ln_full_vel, ln_zinterp 351 352 !!--------------------------------------------------------------------------- 352 353 ! … … 361 362 ENDIF 362 363 bf(:,:)%clrootname = 'NOT USED' ! default definition used as a flag in fld_read to do nothing. 363 bf(:,:)%ltotvel = .FALSE. ! default definition 364 bf(:,:)%lzint = .FALSE. ! default definition 365 bf(:,:)%ltotvel = .FALSE. ! default definition 364 366 365 367 ! Read namelists … … 521 523 CALL fld_fill( bf_alias, bn_alias, cn_dir, 'bdy_dta', cl3//' '//ctmp1, ctmp2 ) ! use namelist info 522 524 IF( bf_alias(1)%ln_tint ) ALLOCATE( bf_alias(1)%fdta( iszdim, 1, ipk, 2 ) ) 523 bf_alias(1)%imap => idx_bdy(jbdy)%nbmap(1:iszdim,igrd)! associate the mapping used for this bdy524 bf_alias(1)%igrd = igrd! used only for vertical integration of 3D arrays525 bf_alias(1)%imap => idx_bdy(jbdy)%nbmap(1:iszdim,igrd) ! associate the mapping used for this bdy 526 bf_alias(1)%igrd = igrd ! used only for vertical integration of 3D arrays 525 527 bf_alias(1)%ltotvel = ln_full_vel ! T if u3d is full velocity 528 bf_alias(1)%lzint = ln_zinterp ! T if it requires a vertical interpolation 526 529 ENDIF 527 530 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/fldread.F90
r11267 r11268 86 86 INTEGER, POINTER, DIMENSION(:) :: imap ! Array of integer pointers to 1D arrays 87 87 LOGICAL :: ltotvel ! total velocity or not (T/F) 88 LOGICAL :: lzint ! T if it requires a vertical interpolation 88 89 END TYPE FLD 89 90 … … 616 617 ! 617 618 IF( ASSOCIATED(sdjf%imap) ) THEN 618 IF( sdjf%ln_tint ) THEN ; CALL fld_map( sdjf%num, sdjf%clvar, sdjf%fdta(:,:,:,2), 619 & sdjf% nrec_a(1), sdjf%imap, sdjf%igrd, sdjf%ibdy, sdjf%ltotvel)620 ELSE ; CALL fld_map( sdjf%num, sdjf%clvar, sdjf%fnow(:,:,: ), 621 & sdjf% nrec_a(1), sdjf%imap, sdjf%igrd, sdjf%ibdy, sdjf%ltotvel)619 IF( sdjf%ln_tint ) THEN ; CALL fld_map( sdjf%num, sdjf%clvar, sdjf%fdta(:,:,:,2), sdjf%nrec_a(1), & 620 & sdjf%imap, sdjf%igrd, sdjf%ibdy, sdjf%ltotvel, sdjf%lzint ) 621 ELSE ; CALL fld_map( sdjf%num, sdjf%clvar, sdjf%fnow(:,:,: ), sdjf%nrec_a(1), & 622 & sdjf%imap, sdjf%igrd, sdjf%ibdy, sdjf%ltotvel, sdjf%lzint ) 622 623 ENDIF 623 624 ELSE IF( LEN(TRIM(sdjf%wgtname)) > 0 ) THEN … … 676 677 677 678 678 SUBROUTINE fld_map( knum, cdvar, pdta, krec, kmap, kgrd, kbdy, ldtotvel )679 SUBROUTINE fld_map( knum, cdvar, pdta, krec, kmap, kgrd, kbdy, ldtotvel, ldzint ) 679 680 !!--------------------------------------------------------------------- 680 681 !! *** ROUTINE fld_map *** … … 691 692 INTEGER, OPTIONAL , INTENT(in ) :: kgrd ! grid type (t, u, v) 692 693 INTEGER, OPTIONAL , INTENT(in ) :: kbdy ! bdy number 693 LOGICAL, OPTIONAL , INTENT(in ) :: ldtotvel ! true if toal ( = barotrop + barocline) velocity 694 LOGICAL, OPTIONAL , INTENT(in ) :: ldtotvel ! true if total ( = barotrop + barocline) velocity 695 LOGICAL, OPTIONAL , INTENT(in ) :: ldzint ! true if 3D variable requires a vertical interpolation 694 696 !! 695 697 INTEGER :: ipi ! length of boundary data on local process … … 707 709 CHARACTER(LEN=1),DIMENSION(3) :: clgrid 708 710 LOGICAL :: lluld ! is the variable using the unlimited dimension 711 LOGICAL :: llzint ! local value of ldzint 709 712 !!--------------------------------------------------------------------- 710 713 ! … … 714 717 ipj = SIZE( pdta, 2 ) ! must be equal to 1 715 718 ipk = SIZE( pdta, 3 ) 719 ! 720 llzint = .FALSE. 721 IF( PRESENT(ldzint) ) llzint = ldzint 716 722 ! 717 723 idvar = iom_varid( knum, cdvar, kndims = indims, kdimsz = idimsz, lduld = lluld ) … … 739 745 CALL iom_get ( knum, jpdom_unknown, cdvar, zz_read(:,:,:), krec ) ! call iom_get with a 3D file 740 746 ! 741 IF( ipkb /= ipk ) THEN ! boundary data not on model vertical grid : vertical interpolation747 IF( ipkb /= ipk .OR. llzint ) THEN ! boundary data not on model vertical grid : vertical interpolation 742 748 ! 743 749 IF( ipk == jpk .AND. iom_varid(knum,'gdep'//clgrid(kgrd)) /= -1 .AND. iom_varid(knum,'e3'//clgrid(kgrd)) /= -1 ) THEN … … 1179 1185 sdf(jf)%imap => NULL() 1180 1186 sdf(jf)%ltotvel = .FALSE. 1187 sdf(jf)%lzint = .FALSE. 1181 1188 END DO 1182 1189 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/WAD/EXPREF/namelist_cfg
r11267 r11268 180 180 &nambdy_dta ! open boundaries - external data 181 181 !----------------------------------------------------------------------- 182 ln_zinterp = .false. ! T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 183 ! ! automatically defined to T if the number of vertical levels in bdy dta /= jpk 184 ln_full_vel = .false. ! T if [uv]3d are "full" velocities and not only its baroclinic components 185 ! ! in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 186 ! 187 cn_dir = './' 182 188 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 183 189 ! ! ! (if <0 months) ! name ! (logical) ! (T/F ) ! 'monthly' ! filename ! pairing ! filename ! … … 185 191 bn_u2d = 'bdyuv_tc7' , 1. , 'ubdy' , .true. , .true. , 'daily' , '' , '' , '' 186 192 bn_v2d = 'bdyuv_tc7' , 1. , 'vbdy' , .true. , .true. , 'daily' , '' , '' , '' 187 cn_dir = './' ! root directory for the location of the bulk files188 ln_full_vel = .false. !189 193 / 190 194 !-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.