Changeset 13558 for NEMO/trunk/src
- Timestamp:
- 2020-10-02T17:30:22+02:00 (4 years ago)
- Location:
- NEMO/trunk/src
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icestp.F90
r13546 r13558 263 263 CALL ice_thd_init ! set ice thermodynics parameters (clem: important to call it first for melt ponds) 264 264 ! 265 ! ! Initial sea-ice state 266 CALL ice_istate_init 265 CALL ice_sbc_init ! set ice-ocean and ice-atm. coupling parameters 266 ! 267 CALL ice_istate_init ! Initial sea-ice state 267 268 IF ( ln_rstart .OR. nn_iceini_file == 2 ) THEN 268 269 CALL ice_rst_read( Kbb, Kmm, Kaa ) ! start from a restart file … … 272 273 CALL ice_var_glo2eqv 273 274 CALL ice_var_agg(1) 274 !275 CALL ice_sbc_init ! set ice-ocean and ice-atm. coupling parameters276 275 ! 277 276 CALL ice_dyn_init ! set ice dynamics parameters -
NEMO/trunk/src/OCE/DIU/diu_bulk.F90
r13295 r13558 22 22 23 23 ! Namelist parameters 24 LOGICAL, PUBLIC :: ln_diurnal 25 LOGICAL, PUBLIC :: ln_diurnal_only 24 LOGICAL, PUBLIC :: ln_diurnal = .false. ! force definition if diurnal_sst_bulk_init is not called 25 LOGICAL, PUBLIC :: ln_diurnal_only = .false. ! force definition if diurnal_sst_bulk_init is not called 26 26 27 27 ! Parameters -
NEMO/trunk/src/OCE/DOM/closea.F90
r13286 r13558 38 38 LOGICAL, PUBLIC :: ln_clo_rnf !: closed sea treated as runoff (update rnf mask) 39 39 40 LOGICAL, PUBLIC :: l_sbc_clo !: T => net evap/precip over closed seas spread outover the globe/river mouth 41 LOGICAL, PUBLIC :: l_clo_rnf !: T => Some closed seas output freshwater (RNF) to specified runoff points. 42 43 INTEGER, PUBLIC :: ncsg !: number of closed seas global mappings (inferred from closea_mask_glo field) 44 INTEGER, PUBLIC :: ncsr !: number of closed seas rnf mappings (inferred from closea_mask_rnf field) 45 INTEGER, PUBLIC :: ncse !: number of closed seas empmr mappings (inferred from closea_mask_emp field) 40 ! WARNING: keep default definitions in the following lines as dom_clo is called only if ln_closea = .true. 41 LOGICAL, PUBLIC :: l_sbc_clo = .FALSE. !: T => net evap/precip over closed seas spread outover the globe/river mouth 42 LOGICAL, PUBLIC :: l_clo_rnf = .FALSE. !: T => Some closed seas output freshwater (RNF) to specified runoff points. 43 44 INTEGER, PUBLIC :: ncsg = 0 !: number of closed seas global mappings (inferred from closea_mask_glo field) 45 INTEGER, PUBLIC :: ncsr = 0 !: number of closed seas rnf mappings (inferred from closea_mask_rnf field) 46 INTEGER, PUBLIC :: ncse = 0 !: number of closed seas empmr mappings (inferred from closea_mask_emp field) 46 47 47 48 INTEGER, PUBLIC, SAVE, ALLOCATABLE, DIMENSION(:,:) :: mask_opnsea, mask_csundef !: mask defining the open sea and the undefined closed sea -
NEMO/trunk/src/OCE/DOM/daymod.F90
r13286 r13558 82 82 ndt05 = NINT( 0.5 * rn_Dt ) 83 83 84 IF( .NOT. l_offline ) CALL day_rst( nit000, 'READ' ) 85 84 lrst_oce = .NOT. l_offline ! force definition of offline 85 IF( lrst_oce ) CALL day_rst( nit000, 'READ' ) 86 86 87 ! set the calandar from ndastp (read in restart file and namelist) 87 88 nyear = ndastp / 10000 -
NEMO/trunk/src/OCE/DOM/domain.F90
r13472 r13558 120 120 WRITE(numout,*) ' cn_cfg = ', TRIM( cn_cfg ), ' nn_cfg = ', nn_cfg 121 121 ENDIF 122 nn_wxios = 0123 ln_xios_read = .FALSE.124 122 ! 125 123 ! !== Reference coordinate system ==! -
NEMO/trunk/src/OCE/DYN/divhor.F90
r13497 r13558 78 78 ! 79 79 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) !== Horizontal divergence ==! 80 hdiv(ji,jj,jk) = ( e2u(ji ,jj) * e3u(ji ,jj,jk,Kmm) * uu(ji ,jj,jk,Kmm) &80 hdiv(ji,jj,jk) = ( e2u(ji ,jj) * e3u(ji ,jj,jk,Kmm) * uu(ji ,jj,jk,Kmm) & 81 81 & - e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) * uu(ji-1,jj,jk,Kmm) & 82 82 & + e1v(ji,jj ) * e3v(ji,jj ,jk,Kmm) * vv(ji,jj ,jk,Kmm) & -
NEMO/trunk/src/OCE/DYN/wet_dry.F90
r13497 r13558 57 57 REAL(wp), PUBLIC :: ssh_ref !: height of z=0 with respect to the geoid; 58 58 59 LOGICAL, PUBLIC :: ll_wd !: Wetting/drying activation switch if either ln_wd_il or ln_wd_dl59 LOGICAL, PUBLIC :: ll_wd = .FALSE. !: Wetting/drying activation switch (ln_wd_il or ln_wd_dl) <- default def if wad_init not called 60 60 61 61 PUBLIC wad_init ! initialisation routine called by step.F90 … … 111 111 112 112 r_rn_wdmin1 = 1 / rn_wdmin1 113 ll_wd = .FALSE.114 113 IF( ln_wd_il .OR. ln_wd_dl ) THEN 115 114 ll_wd = .TRUE. -
NEMO/trunk/src/OCE/FLO/flo_oce.F90
r11536 r13558 19 19 !! ---------------- 20 20 LOGICAL, PUBLIC :: ln_floats !: Activate floats or not 21 INTEGER, PUBLIC :: jpnfl 21 INTEGER, PUBLIC :: jpnfl = 0 !: total number of floats during the run 22 22 INTEGER, PUBLIC :: jpnnewflo !: number of floats added in a new run 23 23 INTEGER, PUBLIC :: jpnrstflo !: number of floats for the restart -
NEMO/trunk/src/OCE/ICB/icbtrj.F90
r13062 r13558 35 35 PUBLIC icb_trj_end ! routine called in icbstp.F90 module 36 36 37 INTEGER :: num_traj 37 INTEGER :: num_traj = 0 38 38 INTEGER :: n_dim, m_dim 39 39 INTEGER :: ntrajid -
NEMO/trunk/src/OCE/IOM/iom_def.F90
r13286 r13558 33 33 INTEGER, PUBLIC :: iom_open_init = 0 !: used to initialize iom_file(:)%nfid to 0 34 34 !XIOS write restart 35 LOGICAL, PUBLIC :: lwxios 36 INTEGER, PUBLIC :: nxioso !: type of restart file when writing using XIOS 1 - single, 2 - multiple35 LOGICAL, PUBLIC :: lwxios = .FALSE. !: write single file restart using XIOS 36 INTEGER, PUBLIC :: nxioso = 0 !: type of restart file when writing using XIOS 1 - single, 2 - multiple 37 37 !XIOS read restart 38 LOGICAL, PUBLIC :: lrxios 38 LOGICAL, PUBLIC :: lrxios = .FALSE. !: read single file restart using XIOS 39 39 LOGICAL, PUBLIC :: lxios_sini = .FALSE. ! is restart in a single file 40 40 LOGICAL, PUBLIC :: lxios_set = .FALSE. -
NEMO/trunk/src/OCE/ISF/isf_oce.F90
r12077 r13558 74 74 ! 75 75 ! 2.1 -------- ice shelf cavity parameter -------------- 76 LOGICAL , PUBLIC :: l_isfoasis 76 LOGICAL , PUBLIC :: l_isfoasis = .FALSE. 77 77 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: risfload !: ice shelf load 78 78 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fwfisf_oasis -
NEMO/trunk/src/OCE/LDF/ldftra.F90
r13497 r13558 246 246 ENDIF 247 247 ! 248 IF( ln_ldfeiv .AND. .NOT.( ln_traldf_iso .OR. ln_traldf_triad ) ) & 249 & CALL ctl_stop( 'ln_ldfeiv=T requires iso-neutral laplacian diffusion' ) 250 IF( ln_isfcav .AND. ln_traldf_triad ) & 251 & CALL ctl_stop( ' ice shelf cavity and traldf_triad not tested' ) 248 IF( ln_isfcav .AND. ln_traldf_triad ) CALL ctl_stop( ' ice shelf cavity and traldf_triad not tested' ) 252 249 ! 253 250 IF( nldf_tra == np_lap_i .OR. nldf_tra == np_lap_it .OR. & … … 541 538 IF( ln_traldf_blp ) CALL ctl_stop( 'ldf_eiv_init: eddy induced velocity ONLY with laplacian diffusivity' ) 542 539 ! 540 IF( .NOT.( ln_traldf_iso .OR. ln_traldf_triad ) ) & 541 & CALL ctl_stop( 'ln_ldfeiv=T requires iso-neutral laplacian diffusion' ) 543 542 ! != allocate the aei arrays 544 543 ALLOCATE( aeiu(jpi,jpj,jpk), aeiv(jpi,jpj,jpk), STAT=ierr ) -
NEMO/trunk/src/OCE/ZDF/zdfdrg.F90
r13497 r13558 383 383 IF(ll_bot) zmsk_boost(:,:) = zmsk_boost(:,:) * ssmask(:,:) ! x seafloor mask 384 384 ! 385 l_log_not_linssh = .FALSE. ! default definition 385 386 ! 386 387 SELECT CASE( ndrg ) -
NEMO/trunk/src/OCE/ZDF/zdfgls.F90
r13546 r13558 815 815 WRITE(numout,*) ' Ice-ocean roughness (used if nn_z0_ice/=0) rn_hsri = ', rn_hsri 816 816 WRITE(numout,*) 817 WRITE(numout,*) ' Namelist namdrg_top/_bot: used values:'818 WRITE(numout,*) ' top ocean cavity roughness (m) rn_z0(_top) = ', r_z0_top819 WRITE(numout,*) ' Bottom seafloor roughness (m) rn_z0(_bot) = ', r_z0_bot820 WRITE(numout,*)821 817 ENDIF 822 818 -
NEMO/trunk/src/OCE/ZDF/zdfphy.F90
r13472 r13558 337 337 ! 338 338 END SUBROUTINE zdf_phy 339 340 339 341 INTEGER FUNCTION zdf_phy_alloc() 340 342 !!---------------------------------------------------------------------- -
NEMO/trunk/src/OCE/ZDF/zdftke.F90
r13530 r13558 678 678 CALL ctl_stop( 'zdf_tke_init: wrong value for nn_eice, should be 0,1,2, or 3') 679 679 END SELECT 680 IF( .NOT.ln_drg_OFF ) THEN681 WRITE(numout,*)682 WRITE(numout,*) ' Namelist namdrg_top/_bot: used values:'683 WRITE(numout,*) ' top ocean cavity roughness (m) rn_z0(_top)= ', r_z0_top684 WRITE(numout,*) ' Bottom seafloor roughness (m) rn_z0(_bot)= ', r_z0_bot685 ENDIF686 680 WRITE(numout,*) 687 681 WRITE(numout,*) ' ==>>> critical Richardson nb with your parameters ri_cri = ', ri_cri -
NEMO/trunk/src/OCE/nemogcm.F90
r13286 r13558 54 54 USE asminc ! assimilation increments 55 55 USE asmbkg ! writing out state trajectory 56 USE diaptr ! poleward transports (dia_ptr_init routine)57 56 USE diadct ! sections transports (dia_dct_init routine) 58 57 USE diaobs ! Observation diagnostics (dia_obs_init routine) … … 472 471 ! ! Lateral physics 473 472 CALL ldf_tra_init ! Lateral ocean tracer physics 474 CALL ldf_eiv_init ! eddy induced velocity param. 473 CALL ldf_eiv_init ! eddy induced velocity param. must be done after ldf_tra_init 475 474 CALL ldf_dyn_init ! Lateral ocean momentum physics 476 475 … … 510 509 CALL flo_init( Nnn ) ! drifting Floats 511 510 IF( ln_diacfl ) CALL dia_cfl_init ! Initialise CFL diagnostics 512 ! CALL dia_ptr_init ! Poleward TRansports initialization513 511 CALL dia_dct_init ! Sections tranports 514 512 CALL dia_hsb_init( Nnn ) ! heat content, salt content and volume budgets -
NEMO/trunk/src/OCE/timing.F90
r13538 r13558 424 424 s_timer => s_timer_root 425 425 DO WHILE ( ASSOCIATED( s_timer%next ) ) 426 IF (.NOT. ASSOCIATED(s_timer%next)) EXIT426 IF (.NOT. ASSOCIATED(s_timer%next)) EXIT 427 427 IF ( s_timer%tsum_clock < s_timer%next%tsum_clock ) THEN 428 428 ALLOCATE(s_wrk) … … 432 432 ll_ord = .FALSE. 433 433 CYCLE 434 ENDIF 435 IF( ASSOCIATED(s_timer%next) ) s_timer => s_timer%next436 END DO 434 ENDIF 435 IF( ASSOCIATED(s_timer%next) ) s_timer => s_timer%next 436 END DO 437 437 IF( ll_ord ) EXIT 438 438 END DO … … 447 447 clfmt = '(1x,a,4x,f12.3,6x,f12.3,x,f12.3,2x,f12.3,6x,f7.3,2x,i9)' 448 448 DO WHILE ( ASSOCIATED(s_timer) ) 449 WRITE(numtime,TRIM(clfmt)) s_timer%cname, & 450 & s_timer%tsum_clock,s_timer%tsum_clock*100./t_elaps(2), & 451 & s_timer%tsum_cpu ,s_timer%tsum_cpu*100./t_cpu(2) , & 452 & s_timer%tsum_cpu/s_timer%tsum_clock, s_timer%niter 449 IF( s_timer%tsum_clock > 0._wp ) & 450 WRITE(numtime,TRIM(clfmt)) s_timer%cname, & 451 & s_timer%tsum_clock,s_timer%tsum_clock*100./t_elaps(2), & 452 & s_timer%tsum_cpu ,s_timer%tsum_cpu*100./t_cpu(2) , & 453 & s_timer%tsum_cpu/s_timer%tsum_clock, s_timer%niter 453 454 s_timer => s_timer%next 454 455 END DO … … 613 614 clfmt = '((A),E15.7,2x,f6.2,5x,f12.2,5x,f6.2,5x,f7.2,2x,f12.2,4x,f6.2,2x,f9.2)' 614 615 DO WHILE ( ASSOCIATED(sl_timer_ave) ) 615 WRITE(numtime,TRIM(clfmt)) sl_timer_ave%cname(1:18), & 616 & sl_timer_ave%tsum_clock,sl_timer_ave%tsum_clock*100.*jpnij/tot_etime, & 617 & sl_timer_ave%tsum_cpu ,sl_timer_ave%tsum_cpu*100.*jpnij/tot_ctime , & 618 & sl_timer_ave%tsum_cpu/sl_timer_ave%tsum_clock, & 619 & sl_timer_ave%tmax_clock*100.*jpnij/tot_etime, & 620 & sl_timer_ave%tmin_clock*100.*jpnij/tot_etime, & 621 & sl_timer_ave%niter/REAL(jpnij) 616 IF( sl_timer_ave%tsum_clock > 0. ) & 617 WRITE(numtime,TRIM(clfmt)) sl_timer_ave%cname(1:18), & 618 & sl_timer_ave%tsum_clock,sl_timer_ave%tsum_clock*100.*jpnij/tot_etime, & 619 & sl_timer_ave%tsum_cpu ,sl_timer_ave%tsum_cpu*100.*jpnij/tot_ctime , & 620 & sl_timer_ave%tsum_cpu/sl_timer_ave%tsum_clock, & 621 & sl_timer_ave%tmax_clock*100.*jpnij/tot_etime, & 622 & sl_timer_ave%tmin_clock*100.*jpnij/tot_etime, & 623 & sl_timer_ave%niter/REAL(jpnij) 622 624 sl_timer_ave => sl_timer_ave%next 623 625 END DO -
NEMO/trunk/src/OFF/nemogcm.F90
r13555 r13558 40 40 USE sbcmod ! surface boundary condition (sbc_init routine) 41 41 USE phycst ! physical constant (par_cst routine) 42 USE zdfphy ! vertical physics manager (zdf_phy_init routine) 42 43 USE dtadyn ! Lecture and Interpolation of the dynamical fields 43 44 USE trcini ! Initilization of the passive tracers … … 49 50 USE trcnam ! passive tracer : namelist 50 51 USE trcrst ! passive tracer restart 51 USE diaptr ! Need to initialise this as some variables are used in if statements later52 52 USE sbc_oce , ONLY : ln_rnf 53 53 USE sbcrnf ! surface boundary condition : runoffs … … 347 347 348 348 CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module 349 CALL bdy_init ! Open boundaries initialisation 349 CALL bdy_init ! Open boundaries initialisation 350 351 CALL zdf_phy_init( Nnn ) ! Vertical physics 350 352 351 353 ! ! Tracer physics 352 354 CALL ldf_tra_init ! Lateral ocean tracer physics 353 CALL ldf_eiv_init ! Eddy induced velocity param 355 CALL ldf_eiv_init ! Eddy induced velocity param. must be done after ldf_tra_init 354 356 CALL tra_ldf_init ! lateral mixing 355 357 IF( l_ldfslp ) CALL ldf_slp_init ! slope of lateral mixing … … 365 367 CALL dta_dyn_init( Nbb, Nnn, Naa ) ! Initialization for the dynamics 366 368 #endif 367 368 369 CALL trc_init( Nbb, Nnn, Naa ) ! Passive tracers initialization 369 CALL dia_ptr_init ! Poleward TRansports initialization370 370 371 371 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA -
NEMO/trunk/src/SAS/nemogcm.F90
r13555 r13558 378 378 & CALL prt_ctl_init ! Print control 379 379 380 IF( ln_rstart ) CALL rst_read_open 380 381 CALL day_init ! model calendar (using both namelist and restart infos) 381 IF( ln_rstart ) CALL rst_read_open 382 383 ! ! external forcing 382 384 383 #if defined key_agrif 385 384 uu(:,:,:,:) = 0.0_wp ; vv(:,:,:,:) = 0.0_wp ; ts(:,:,:,:,:) = 0.0_wp ! needed for interp done at initialization phase 386 385 #endif 386 ! ! external forcing 387 387 CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module 388 388 -
NEMO/trunk/src/TOP/trc.F90
r12489 r13558 21 21 INTEGER, PUBLIC :: numonr = -1 !: reference passive tracer namelist output output.namelist.top 22 22 INTEGER, PUBLIC :: numstr !: tracer statistics 23 INTEGER, PUBLIC :: numrtr 23 INTEGER, PUBLIC :: numrtr = -1 !: trc restart (read ) 24 24 INTEGER, PUBLIC :: numrtw !: trc restart ( write ) 25 25 CHARACTER(:), ALLOCATABLE, PUBLIC :: numnat_ref !: character buffer for reference passive tracer namelist_top_ref -
NEMO/trunk/src/TOP/trcrst.F90
r13286 r13558 237 237 ! calculate start time in hours and minutes 238 238 zdayfrac=adatrj-INT(adatrj) 239 ksecs = NINT(zdayfrac*86400) ! Nearest second to catch rounding errors in adatrj 239 ksecs = NINT(zdayfrac*86400) ! Nearest second to catch rounding errors in adatrj 240 240 ihour = INT(ksecs/3600) 241 241 iminute = ksecs/60-ihour*60 … … 258 258 adatrj = INT(adatrj) ! adatrj set to integer as nn_time0 updated 259 259 ELSE 260 ndt05 = NINT( 0.5 * rn_Dt ) ! --- WARNING --- not defined yet are we did not go through day_init 260 261 ! parameters corresponding to nit000 - 1 (as we start the step 261 262 ! loop with a call to day) 262 ndastp = ndate0 - 1! ndate0 read in the namelist in dom_nam263 ndastp = ndate0 ! ndate0 read in the namelist in dom_nam 263 264 nhour = nn_time0 / 100 264 265 nminute = ( nn_time0 - nhour * 100 )
Note: See TracChangeset
for help on using the changeset viewer.