- Timestamp:
- 2014-08-13T10:46:04+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
r4624 r4739 3 3 !! *** MODULE dyndmp *** 4 4 !! Ocean dynamics: internal restoring trend on momentum (U and V current) 5 !! This should only be used for C1D case in current form 5 6 !!====================================================================== 6 7 !! History : 3.5 ! 2013-08 (D. Calvert) Original code 8 !! 3.6 ! 2014-08 (T. Graham) Modified to use netcdf file of 9 !! restoration coefficients supplied to tradmp 7 10 !!---------------------------------------------------------------------- 8 11 … … 27 30 USE wrk_nemo ! Memory allocation 28 31 USE timing ! Timing 32 USE iom ! I/O manager 29 33 30 34 IMPLICIT NONE … … 75 79 NAMELIST/namc1d_dyndmp/ ln_dyndmp 76 80 INTEGER :: ios 81 INTEGER :: imask 77 82 !!---------------------------------------------------------------------- 78 83 … … 93 98 WRITE(numout,*) ' add a damping term or not ln_dyndmp = ', ln_dyndmp 94 99 WRITE(numout,*) ' Namelist namtra_dmp : Set damping parameters' 95 WRITE(numout,*) ' horizontal damping option nn_hdmp = ', nn_hdmp 96 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp, '(non-C1D zoom: forced to 0)' 97 WRITE(numout,*) ' surface time scale (days) rn_surf = ', rn_surf 98 WRITE(numout,*) ' bottom time scale (days) rn_bot = ', rn_bot 99 WRITE(numout,*) ' depth of transition (meters) rn_dep = ', rn_dep 100 WRITE(numout,*) ' create a damping.coeff file nn_file = ', nn_file 100 WRITE(numout,*) ' Apply relaxation or not ln_tradmp = ', ln_tradmp 101 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp 102 WRITE(numout,*) ' Damping file name cn_resto = ', cn_resto 101 103 WRITE(numout,*) 102 104 ENDIF … … 106 108 IF( dyn_dmp_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dyn_dmp_init: unable to allocate arrays' ) 107 109 ! 108 #if ! defined key_c1d109 SELECT CASE ( nn_hdmp ) !== control print of horizontal option ==!110 CASE ( -1 ) ; IF(lwp) WRITE(numout,*) ' momentum damping in the Med & Red seas only'111 CASE ( 1:90 ) ; IF(lwp) WRITE(numout,*) ' momentum damping poleward of', nn_hdmp, ' degrees'112 CASE DEFAULT113 WRITE(ctmp1,*) ' bad flag value for nn_hdmp = ', nn_hdmp114 CALL ctl_stop(ctmp1)115 END SELECT116 !117 #endif118 110 SELECT CASE ( nn_zdmp ) !== control print of vertical option ==! 119 111 CASE ( 0 ) ; IF(lwp) WRITE(numout,*) ' momentum damping throughout the water column' … … 132 124 utrdmp(:,:,:) = 0._wp ! internal damping trends 133 125 vtrdmp(:,:,:) = 0._wp 134 ! !== Damping coefficients calculation: ==! 135 ! !== use tradmp.F90 subroutines dtacof, dtacof_zoom and cofdis ==! 136 ! !!! NOTE: these need to be altered for use in this module if 137 ! !!! they are to be used outside the C1D context 138 ! !!! (use of U,V grid variables) 139 IF( lzoom .AND. .NOT. lk_c1d ) THEN ; CALL dtacof_zoom( resto_uv ) 140 ELSE ; CALL dtacof( nn_hdmp, rn_surf, rn_bot, rn_dep, nn_file, 'DYN', resto_uv ) 141 ENDIF 142 ! 126 ! 127 !Read in mask from file 128 CALL iom_open ( cn_resto, imask) 129 CALL iom_get ( imask, jpdom_autoglo, 'resto', resto) 130 CALL iom_close( imask ) 143 131 ENDIF 144 132 !
Note: See TracChangeset
for help on using the changeset viewer.