Changeset 13239
- Timestamp:
- 2020-07-03T12:30:58+02:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.1_GM_rossby_radius_cutoff
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_GM_rossby_radius_cutoff/cfgs/SHARED/field_def_nemo-oce.xml
r13161 r13239 71 71 <field id="rhop" long_name="potential density (sigma0)" standard_name="sea_water_sigma_theta" unit="kg/m3" grid_ref="grid_T_3D" /> 72 72 <field id="N_2d" long_name="Depth-mean N" unit="m/s" /> 73 <field id="modslp" long_name="sqrt( slpi^2 + slpj^2 )" unit="1" grid_ref="grid_T_3D" /> 73 74 <field id="RossRad" long_name="Rossby radius" unit="m" /> 74 75 <field id="RossRadlim" long_name="Rossby radius (limited)" unit="m" /> -
NEMO/branches/UKMO/NEMO_4.0.1_GM_rossby_radius_cutoff/src/OCE/LDF/ldftra.F90
r13161 r13239 647 647 REAL(wp) :: zfw, ze3w, zn2, z1_f20, zaht, zaht_min, zzaei, z2_3 ! local scalars 648 648 REAL(wp), DIMENSION(jpi,jpj) :: zn, zah, zhw, zRo, zRo_lim, zTclinic_recip, zaeiw, zratio ! 2D workspace 649 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmodslp ! 3D workspace 649 650 !!---------------------------------------------------------------------- 650 651 ! 651 652 zn (:,:) = 0._wp ! Local initialization 653 zmodslp(:,:,:) = 0._wp 652 654 zhw(:,:) = 5._wp 653 655 zah(:,:) = 0._wp … … 689 691 ! T^-1 = sqrt(m_jpk(N^2*(r1^2+r2^2)*e3w)) 690 692 ze3w = e3w_n(ji,jj,jk) * tmask(ji,jj,jk) 691 zah(ji,jj) = zah(ji,jj) + zn2 * ( wslpi(ji,jj,jk) * wslpi(ji,jj,jk) & 692 & + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) ) * ze3w 693 zmodslp(ji,jj,jk) = wslpi(ji,jj,jk) * wslpi(ji,jj,jk) & 694 & + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) 695 zah(ji,jj) = zah(ji,jj) + zn2 * zmodslp(ji,jj,jk) * ze3w 693 696 zhw(ji,jj) = zhw(ji,jj) + ze3w 694 697 END DO … … 709 712 END DO 710 713 IF( iom_use('N_2d') ) CALL iom_put('N_2d',zn(:,:)/zhw(:,:)) 714 IF( iom_use('modslp') ) CALL iom_put('modslp',SQRT(zmodslp(:,:,:)) ) 711 715 CALL iom_put('RossRad',zRo) 712 716 CALL iom_put('RossRadlim',zRo_lim) … … 715 719 z1_f20 = 1._wp / ( 2._wp * omega * sin( rad * 20._wp ) ) 716 720 z2_3 = 2._wp/3._wp 717 DO jj = 2, jpjm1718 DO ji = fs_2, fs_jpim1 ! vector opt.719 zzaei = MIN( 1._wp, ABS( ff_t(ji,jj) * z1_f20 ) ) * zaeiw(ji,jj) ! tropical decrease720 zaeiw(ji,jj) = MIN( zzaei, paei0 )721 END DO722 END DO723 721 724 722 SELECT CASE(nn_ldfeiv_shape) 723 CASE(0) !! Standard shape applied - decrease in tropics and cap. 724 DO jj = 2, jpjm1 725 DO ji = fs_2, fs_jpim1 ! vector opt. 726 zzaei = MIN( 1._wp, ABS( ff_t(ji,jj) * z1_f20 ) ) * zaeiw(ji,jj) ! tropical decrease 727 zaeiw(ji,jj) = MIN( zzaei, paei0 ) 728 END DO 729 END DO 730 725 731 CASE(1) !! Abrupt cut-off on Rossby radius: 726 732 ! JD : modifications here to introduce scaling by local rossby radius of deformation vs local grid scale … … 761 767 END DO 762 768 END DO 769 770 CASE(5) !! Rossby radius ramp type 1 applied to Treguier et al coefficient rather than cap: 771 !! Note the ramp is RR/GS=[2.0,1.0] (not [2.0,0.5] as for cases 2,3) and we ramp up 772 !! to 5% of the Treguier et al coefficient, aiming for peak values of around 100m2/s 773 !! at high latitudes rather than 2000m2/s which is what you get in eORCA025 with an 774 !! uncapped coefficient. 775 DO jj = 2, jpjm1 776 DO ji = fs_2, fs_jpim1 ! vector opt. 777 zratio(ji,jj) = zRo(ji,jj)/MIN(e1t(ji,jj),e2t(ji,jj)) 778 zaeiw(ji,jj) = MAX( 0._wp, MIN( 1._wp, 2._wp - zratio(ji,jj) ) ) * 0.05 * zaeiw(ji,jj) 779 zaeiw(ji,jj) = MIN( zaeiw(ji,jj), paei0 ) 780 END DO 781 END DO 782 CALL iom_put('RR_GS',zratio) 783 784 CASE DEFAULT 785 CALL ctl_stop('ldf_eiv: Unrecognised option for nn_ldfeiv_shape.') 763 786 764 787 END SELECT
Note: See TracChangeset
for help on using the changeset viewer.