New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3372 for branches/2012/dev_r3337_NOCS10_ICB/NEMOGCM/NEMO/OPA_SRC/ICB/icbrun.F90 – NEMO

Ignore:
Timestamp:
2012-04-30T12:50:36+02:00 (12 years ago)
Author:
sga
Message:

NEMO branch dev_r3337_NOCS10_ICB: change all routine names and create more Gurvanistic havoc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3337_NOCS10_ICB/NEMOGCM/NEMO/OPA_SRC/ICB/icbrun.F90

    r3370 r3372  
    7777 
    7878      ! anything that needs to be reset to zero each timestep for budgets is dealt with here 
    79       CALL icb_budget_step() 
     79      CALL icb_dia_step() 
    8080 
    8181      ! Manage time 
     
    8989      isec = nsec_day - ihr*3600 - imin*60 
    9090      current_year    = iyr 
    91       current_yearday = yearday(imon, iday, ihr, imin, isec) 
     91      current_yearday = icb_utl_yearday(imon, iday, ihr, imin, isec) 
    9292 
    9393      ll_verbose = .FALSE. 
     
    100100      ! copy nemo forcing arrays into iceberg versions with extra halo 
    101101      ! only necessary for variables not on T points 
    102       CALL copy_flds() 
     102      CALL icb_utl_copy() 
    103103 
    104104      !!---------------------------------------------------------------------- 
    105105      !! process icebergs 
    106106 
    107                                      CALL accumulate_calving( kt )   ! Accumulate ice from calving 
    108  
    109                                      CALL calve_icebergs()           ! Calve excess stored ice into icebergs 
    110  
    111  
    112       !                               !==  For each berg, evolve  ==! 
    113       ! 
    114       IF( ASSOCIATED(first_berg) )   CALL evolve_icebergs()          ! ice berg dynamics 
    115  
    116       IF( lk_mpp ) THEN          ;   CALL mpp_send_bergs ()          ! Send bergs to other PEs 
    117       ELSE                       ;   CALL lbc_send_bergs()           ! Deal with any cyclic boundaries in non-mpp case 
     107                                     CALL icb_clv_flx( kt )   ! Accumulate ice from calving 
     108 
     109                                     CALL icb_clv()           ! Calve excess stored ice into icebergs 
     110 
     111 
     112!                               !==  For each berg, evolve  ==! 
     113      ! 
     114      IF( ASSOCIATED(first_berg) )   CALL icb_dyn()           ! ice berg dynamics 
     115 
     116      IF( lk_mpp ) THEN          ;   CALL icb_lbc_mpp()       ! Send bergs to other PEs 
     117      ELSE                       ;   CALL icb_lbc()           ! Deal with any cyclic boundaries in non-mpp case 
    118118      ENDIF 
    119119 
    120       IF( ASSOCIATED(first_berg) )   CALL thermodynamics ( kt )      ! Ice berg thermodynamics (melting) + rolling 
     120      IF( ASSOCIATED(first_berg) )   CALL icb_thm( kt )       ! Ice berg thermodynamics (melting) + rolling 
    121121 
    122122      !!---------------------------------------------------------------------- 
     
    126126      IF( nn_sample_rate > 0 .AND. MOD(kt-1,nn_sample_rate) == 0 )   ll_sample_traj = .TRUE. 
    127127      IF( ll_sample_traj .AND.   & 
    128           ASSOCIATED(first_berg) )   CALL traj_write    ( kt )  ! For each berg, record trajectory 
     128          ASSOCIATED(first_berg) )   CALL icb_trj_write( kt )  ! For each berg, record trajectory 
    129129 
    130130      ! Gridded diagnostics 
     
    136136      CALL iom_put( "berg_stored_ice"   , berg_grid%stored_ice   (:,:,:) )  ! 'Accumulated ice mass by class', 'kg' 
    137137 
    138       ! write out mean budgets 
    139       CALL icb_budget_put() 
     138      ! store mean budgets 
     139      CALL icb_dia_put() 
    140140 
    141141      ! Dump icebergs to screen 
    142       if ( nn_verbose_level >= 2 )   CALL print_bergs( 'icb_stp, status', kt ) 
     142      if ( nn_verbose_level >= 2 )   CALL icb_utl_print( 'icb_stp, status', kt ) 
    143143 
    144144      ! Diagnose budgets 
    145145      ll_budget = .FALSE. 
    146146      IF( nn_verbose_write > 0 .AND. MOD(kt-1,nn_verbose_write) == 0 )   ll_budget = ln_bergdia 
    147       CALL icb_budget( ll_budget ) 
     147      CALL icb_dia( ll_budget ) 
    148148 
    149149      IF( MOD(kt,nn_stock) == 0 ) THEN 
    150          CALL icebergs_write_restart( kt ) 
    151          IF( nn_sample_rate > 0 )   CALL traj_sync() 
     150         CALL icb_rst_write( kt ) 
     151         IF( nn_sample_rate > 0 )   CALL icb_trj_sync() 
    152152      ENDIF 
    153153 
     
    160160      !!                  ***  ROUTINE icb_end  *** 
    161161      !! 
    162       !! ** Purpose :   deallocate icebergs arrays and  
     162      !! ** Purpose :   close iceberg files 
    163163      !! 
    164164      !!---------------------------------------------------------------------- 
     
    184184      DEALLOCATE( nicbfldproc ) 
    185185 
    186       IF( lk_mpp ) CALL dealloc_buffers() 
    187  
    188186      IF (.NOT.ASSOCIATED(berg_grid)) RETURN 
    189187 
    190188      ! only write a restart if not done in icb_stp 
    191       IF( MOD(kt,nn_stock) .NE. 0 ) CALL icebergs_write_restart( kt ) 
     189      IF( MOD(kt,nn_stock) .NE. 0 ) CALL icb_rst_write( kt ) 
    192190 
    193191      ! finish with trajectories if they were written 
    194       IF( nn_sample_rate .GT. 0 ) CALL traj_end() 
     192      IF( nn_sample_rate .GT. 0 ) CALL icb_trj_end() 
    195193 
    196194      ! Delete bergs and structures 
     
    198196      DO WHILE (ASSOCIATED(this)) 
    199197        next=>this%next 
    200         CALL destroy_iceberg(this) 
     198        CALL icb_utl_destroy(this) 
    201199        this=>next 
    202200      END DO 
    203201 
    204       CALL icb_budget_end() 
     202      CALL icb_dia_end() 
    205203 
    206204      DEALLOCATE(berg_grid%calving) 
Note: See TracChangeset for help on using the changeset viewer.