Changeset 11529 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src
- Timestamp:
- 2019-09-10T18:35:59+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DIA/diahsb.F90
r11521 r11529 288 288 ! if ice sheet/oceqn coupling, need to mask ini variables here (mask could change at the next NEMO instance). 289 289 e3t_ini (:,:,jk) = e3t_n(:,:,jk) * tmask(:,:,jk) ! initial vertical scale factors 290 tmask_ini (:,:,jk) = tmask(:,:,jk) ! initial mask 290 291 hc_loc_ini(:,:,jk) = tsn(:,:,jk,jp_tem) * e3t_n(:,:,jk) * tmask(:,:,jk) ! initial heat content 291 292 sc_loc_ini(:,:,jk) = tsn(:,:,jk,jp_sal) * e3t_n(:,:,jk) * tmask(:,:,jk) ! initial salt content -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DIA/diawri.F90
r11521 r11529 925 925 END IF 926 926 END IF 927 DO jk = 1,jpk928 zisfdebug(:,:,jk) = risfcpl_cons_vol(:,:,jk) * rdt_iscpl / e1e2t(:,:)929 END DO930 CALL iom_rstput( 0, 0, inum, 'isfdebug', zisfdebug)931 927 IF( ALLOCATED(ahtu) ) THEN 932 928 CALL iom_rstput( 0, 0, inum, 'ahtu', ahtu ) ! aht at u-point -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DYN/divhor.F90
r11521 r11529 100 100 ! 101 101 #endif 102 CALL debug('isfdivdebug 0',hdivn) 103 IF( ln_isf .OR. ll_isfcpl_cons ) CALL isf_hdiv( kt, hdivn ) !== ice shelf ==! (update hdivn field) 104 CALL debug('isfdivdebug 3',hdivn) 102 ! 103 IF( ln_isf .OR. ln_isfcpl ) CALL isf_hdiv( kt, hdivn ) !== ice shelf ==! (update hdivn field) 105 104 ! 106 105 CALL lbc_lnk( 'divhor', hdivn, 'T', 1. ) ! (no sign change) -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/DYN/dynspg_ts.F90
r11521 r11529 647 647 IF( ll_isfcpl_cons ) THEN 648 648 zssh_frc(:,:) = zssh_frc(:,:) + risfcpl_cons_ssh(:,:) 649 END IF 650 ! 651 IF( ln_isfcpl .AND. ln_rstart .AND. kt == nit000 ) THEN 652 zssh_frc(:,:) = zssh_frc(:,:) + risfcpl_ssh(:,:) 649 653 END IF 650 654 ! -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isf.F90
r11521 r11529 101 101 INTEGER , PUBLIC :: nstp_iscpl !: 102 102 REAL(wp), PUBLIC :: rdt_iscpl !: 103 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: risfcpl_ cons_ssh, risfcpl_cons_ssh_b !:103 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: risfcpl_ssh, risfcpl_cons_ssh, risfcpl_cons_ssh_b !: 104 104 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: risfcpl_vol, risfcpl_cons_vol, risfcpl_cons_vol_b !: 105 105 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: risfcpl_tsc, risfcpl_cons_tsc, risfcpl_cons_tsc_b !: … … 185 185 ierr = 0 186 186 ! 187 ALLOCATE( risfcpl_ tsc(jpi,jpj,jpk,jpts) , risfcpl_vol(jpi,jpj,jpk) , &187 ALLOCATE( risfcpl_ssh(jpi,jpj), risfcpl_tsc(jpi,jpj,jpk,jpts) , risfcpl_vol(jpi,jpj,jpk) , & 188 188 & risfcpl_cons_tsc(jpi,jpj,jpk,jpts) , risfcpl_cons_vol(jpi,jpj,jpk) , & 189 189 & risfcpl_cons_tsc_b(jpi,jpj,jpk,jpts) , risfcpl_cons_vol_b(jpi,jpj,jpk), & -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfhdiv.F90
r11521 r11529 30 30 INTEGER, INTENT(in) :: kt 31 31 ! 32 IF (lwp) WRITE(numout,*) ' isfdiv start'33 FLUSH(numout)34 !35 32 IF ( ln_isf ) THEN 36 33 ! … … 47 44 ! 48 45 ! correct divergence only for the first time step 49 !IF ( kt == nit000 ) CALL isf_hdiv_cpl(risfcpl_vol, phdiv)46 IF ( kt == nit000 ) CALL isf_hdiv_cpl(risfcpl_vol, phdiv) 50 47 ! 51 48 ! correct divergence every time step to remove any trend due to coupling 52 IF ( ll_isfcpl_cons ) CALL isf_hdiv_cpl(risfcpl_cons_vol, risfcpl_cons_vol_b,phdiv)49 IF ( ll_isfcpl_cons ) CALL isf_hdiv_cpl(risfcpl_cons_vol, phdiv) 53 50 ! 54 51 END IF 55 IF (lwp) WRITE(numout,*) ' isfdiv end'56 FLUSH(numout)57 52 ! 58 53 END SUBROUTINE isf_hdiv … … 102 97 END SUBROUTINE isf_hdiv_mlt 103 98 104 SUBROUTINE isf_hdiv_cpl(pqvol, p qvol_b, phdiv)99 SUBROUTINE isf_hdiv_cpl(pqvol, phdiv) 105 100 !!---------------------------------------------------------------------- 106 101 !! *** SUBROUTINE isf_hdiv_cpl *** … … 114 109 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: phdiv 115 110 !!---------------------------------------------------------------------- 116 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in ) :: pqvol , pqvol_b111 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in ) :: pqvol 117 112 !!---------------------------------------------------------------------- 118 113 INTEGER :: jk -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfstp.F90
r11521 r11529 104 104 END IF 105 105 106 IF ( l l_isfcpl ) THEN107 106 IF ( ln_isfcpl ) THEN 107 ! 108 108 IF (lrst_oce) CALL isfcpl_rst_write(kt) 109 109 ! 110 110 END IF 111 111 ! -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90
r11523 r11529 46 46 !!---------------------------------------------------------------------- 47 47 ! 48 IF( ln_timing ) CALL timing_start('tra_ sbc')48 IF( ln_timing ) CALL timing_start('tra_isf') 49 49 ! 50 50 IF (ln_isf) THEN … … 61 61 IF ( ll_isfcpl ) THEN 62 62 ! 63 !IF ( kt == nit000 ) CALL tra_isf_cpl(risfcpl_tsc, tsa)63 IF ( kt == nit000 ) CALL tra_isf_cpl(risfcpl_tsc, tsa) 64 64 ! 65 65 ! ensure 0 trend due to unconservation of the ice shelf coupling … … 130 130 ! 131 131 DO jk = 1,jpk 132 ptsa(:,:,jk,jp_tem) = ptsa(:,:,jk,jp_tem) -ptsc(:,:,jk,jp_tem) * r1_e1e2t(:,:) / e3t_n(:,:,jk)133 ptsa(:,:,jk,jp_sal) = ptsa(:,:,jk,jp_sal) -ptsc(:,:,jk,jp_sal) * r1_e1e2t(:,:) / e3t_n(:,:,jk)132 ptsa(:,:,jk,jp_tem) = ptsa(:,:,jk,jp_tem) + ptsc(:,:,jk,jp_tem) * r1_e1e2t(:,:) / e3t_n(:,:,jk) 133 ptsa(:,:,jk,jp_sal) = ptsa(:,:,jk,jp_sal) + ptsc(:,:,jk,jp_sal) * r1_e1e2t(:,:) / e3t_n(:,:,jk) 134 134 END DO 135 135 ! -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/step.F90
r11521 r11529 114 114 IF( ln_apr_dyn ) CALL sbc_apr ( kstp ) ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib) 115 115 IF( ln_bdy ) CALL bdy_dta ( kstp, time_offset=+1 ) ! update dynamic & tracer data at open boundaries 116 IF( ln_isf .OR. l l_isfcpl ) CALL isf_stp ( kstp )116 IF( ln_isf .OR. ln_isfcpl ) CALL isf_stp ( kstp ) 117 117 CALL sbc ( kstp ) ! Sea Boundary Condition (including sea-ice) 118 118 … … 242 242 CALL tra_sbc ( kstp ) ! surface boundary condition 243 243 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 244 IF( ln_isf .OR. l l_isfcpl ) CALL tra_isf( kstp ) ! ice shelf heat flux244 IF( ln_isf .OR. ln_isfcpl ) CALL tra_isf ( kstp ) ! ice shelf heat flux 245 245 IF( ln_trabbc ) CALL tra_bbc ( kstp ) ! bottom heat flux 246 246 IF( ln_trabbl ) CALL tra_bbl ( kstp ) ! advective (and/or diffusive) bottom boundary layer scheme
Note: See TracChangeset
for help on using the changeset viewer.