 Timestamp:
 20200604T10:56:30+02:00 (4 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/branches/UKMO/NEMO_4.0.1_GM_rossby_radius_cutoff/src/OCE/LDF/ldftra.F90
r13002 r13038 85 85 LOGICAL , PUBLIC :: l_ldftra_time = .FALSE. !: flag for time variation of the lateral eddy diffusivity coef. 86 86 LOGICAL , PUBLIC :: l_ldfeiv_time = .FALSE. !: flag for time variation of the eiv coef. 87 LOGICAL , PUBLIC :: l_Ro_cutoff = .FALSE. !: flag for Rossbyradius cutoff in calcn of eiv coeff88 87 89 88 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ahtu, ahtv !: eddy diffusivity coef. at U and Vpoints [m2/s] … … 414 413 ! ! =F(growth rate of baroclinic instability) 415 414 ! ! max value aeiv_0 ; decreased to 0 within 20N20S 416 CALL ldf_eiv( kt, aei0, aeiu, aeiv , l_Ro_cutoff)415 CALL ldf_eiv( kt, aei0, aeiu, aeiv ) 417 416 ENDIF 418 417 ! … … 563 562 zah_max = zUfac * (ra*rad)**inn ! maximum reachable coefficient (value at the Equator) 564 563 565 l_Ro_cutoff = .FALSE.566 564 SELECT CASE( nn_aei_ijk_t ) !* Specification of spacetime variations 567 565 ! … … 603 601 l_ldfeiv_time = .TRUE. ! will be calculated by call to ldf_tra routine in step.F90 604 602 ! 605 CASE( 22 ) ! time varying 2D field with cutoff !606 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = F( latitude, longitude, time )'607 IF(lwp) WRITE(numout,*) ' = F( growth rate of baroclinic instability )'608 IF(lwp) WRITE(numout,*) ' maximum allowed value: aei0 = ', aei0, ' m2/s'609 IF(lwp) WRITE(numout,*) ' Applied only where Rossby radius resolved by 2.dx'610 !611 l_Ro_cutoff = .TRUE.612 l_ldfeiv_time = .TRUE. ! will be calculated by call to ldf_tra routine in step.F90613 !614 603 CASE( 30 ) ! fixed 3D shape read in file ! 615 604 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = F(i,j,k) read in eddy_diffusivity_3D.nc file' … … 640 629 641 630 642 SUBROUTINE ldf_eiv( kt, paei0, paeiu, paeiv , l_Ro_cutoff)631 SUBROUTINE ldf_eiv( kt, paei0, paeiu, paeiv ) 643 632 !! 644 633 !! *** ROUTINE ldf_eiv *** … … 654 643 REAL(wp) , INTENT(inout) :: paei0 ! max value [m2/s] 655 644 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: paeiu, paeiv ! eiv coefficient [m2/s] 656 LOGICAL , INTENT(in ) :: l_Ro_cutoff ! Rossby radius cutoff yes/no657 645 ! 658 646 INTEGER :: ji, jj, jk ! dummy loop indices … … 728 716 END DO 729 717 730 !! temporary fudge for diagnostic purposes:731 !! zaeiw(:,:) = paei0732 733 718 SELECT CASE(nn_ldfeiv_shape) 734 719 CASE(1) !! Abrupt cutoff on Rossby radius: … … 738 723 DO jj = 2, jpjm1 739 724 DO ji = fs_2, fs_jpim1 ! vector opt. 740 IF ( l_Ro_cutoff .AND.zRo(ji,jj) >= ( 2._wp * MIN( e1t(ji,jj), e2t(ji,jj) ) ) ) THEN725 IF ( zRo(ji,jj) >= ( 2._wp * MIN( e1t(ji,jj), e2t(ji,jj) ) ) ) THEN 741 726 ! TODO : use a version of zRo that integrates over a few time steps ? 742 727 zaeiw(ji,jj) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.