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/icbdia.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/icbdia.F90

    r3370 r3372  
    1414   !!---------------------------------------------------------------------- 
    1515   !!---------------------------------------------------------------------- 
    16    !! icb_budget_end  : end        iceberg budgeting 
    17    !! icb_budget_init : initialise iceberg budgeting 
     16   !! icb_dia_end  : end        iceberg budgeting 
     17   !! icb_dia_init : initialise iceberg budgeting 
    1818   !!---------------------------------------------------------------------- 
    1919   USE par_oce        ! ocean parameters 
     
    2828   PRIVATE 
    2929 
    30    PUBLIC   icb_budget_end    ! routine called in icbrun.F90 module 
    31    PUBLIC   icb_budget_init   ! routine called in icbini.F90 module 
    32    PUBLIC   icb_budget        ! routine called in icbrun.F90 module 
    33    PUBLIC   icb_budget_step   ! routine called in icbrun.F90 module 
    34    PUBLIC   icb_budget_put    ! routine called in icbrun.F90 module 
    35    PUBLIC   melt_budget       ! routine called in icbthm.F90 module 
    36    PUBLIC   size_budget       ! routine called in icbthm.F90 module 
    37    PUBLIC   speed_budget      ! routine called in icbdyn.F90 module 
    38    PUBLIC   calving_budget    ! routine called in icbclv.F90 module 
    39    PUBLIC   incoming_budget   ! routine called in icbclv.F90 module 
     30   PUBLIC   icb_dia_end       ! routine called in icbrun.F90 module 
     31   PUBLIC   icb_dia_init      ! routine called in icbini.F90 module 
     32   PUBLIC   icb_dia           ! routine called in icbrun.F90 module 
     33   PUBLIC   icb_dia_step      ! routine called in icbrun.F90 module 
     34   PUBLIC   icb_dia_put       ! routine called in icbrun.F90 module 
     35   PUBLIC   icb_dia_melt      ! routine called in icbthm.F90 module 
     36   PUBLIC   icb_dia_size      ! routine called in icbthm.F90 module 
     37   PUBLIC   icb_dia_speed     ! routine called in icbdyn.F90 module 
     38   PUBLIC   icb_dia_calve     ! routine called in icbclv.F90 module 
     39   PUBLIC   icb_dia_income    ! routine called in icbclv.F90 module 
    4040 
    4141   REAL(wp), DIMENSION(:,:)  , POINTER, PUBLIC  ::   berg_melt    => NULL()   ! Melting+erosion rate of icebergs     [kg/s/m2] 
     
    8383CONTAINS 
    8484 
    85    SUBROUTINE icb_budget_end 
     85   SUBROUTINE icb_dia_end 
    8686      !!---------------------------------------------------------------------- 
    8787      ! 
     
    103103      ENDIF 
    104104      ! 
    105    END SUBROUTINE icb_budget_end 
    106  
    107    !!------------------------------------------------------------------------- 
    108  
    109    SUBROUTINE icb_budget_init( ) 
     105   END SUBROUTINE icb_dia_end 
     106 
     107 
     108   SUBROUTINE icb_dia_init( ) 
    110109      !!---------------------------------------------------------------------- 
    111110      !!---------------------------------------------------------------------- 
     
    160159      bits_src_net              = 0._wp 
    161160 
    162       floating_mass_start       = sum_mass( first_berg ) 
    163       bergs_mass_start          = sum_mass( first_berg, justbergs=.true. ) 
    164       bits_mass_start           = sum_mass( first_berg, justbits=.true. ) 
     161      floating_mass_start       = icb_utl_mass( first_berg ) 
     162      bergs_mass_start          = icb_utl_mass( first_berg, justbergs=.true. ) 
     163      bits_mass_start           = icb_utl_mass( first_berg, justbits=.true. ) 
    165164      IF( lk_mpp ) THEN 
    166165         ALLOCATE( rsumbuf(23) )          ; rsumbuf(:) = 0._wp 
     
    175174      ENDIF 
    176175      ! 
    177    END SUBROUTINE icb_budget_init 
    178  
    179  
    180    SUBROUTINE icb_budget( ld_budge ) 
     176   END SUBROUTINE icb_dia_init 
     177 
     178 
     179   SUBROUTINE icb_dia( ld_budge ) 
    181180      !!---------------------------------------------------------------------- 
    182181      !!---------------------------------------------------------------------- 
     
    207206         stored_end        = SUM( berg_grid%stored_ice(:,:,:) ) 
    208207         stored_heat_end   = SUM( berg_grid%stored_heat(:,:) ) 
    209          floating_mass_end = sum_mass( first_berg ) 
    210          bergs_mass_end    = sum_mass( first_berg,justbergs=.true. ) 
    211          bits_mass_end     = sum_mass( first_berg,justbits=.true. ) 
    212          floating_heat_end = sum_heat( first_berg ) 
    213  
    214          nbergs_end        = count_bergs() 
     208         floating_mass_end = icb_utl_mass( first_berg ) 
     209         bergs_mass_end    = icb_utl_mass( first_berg,justbergs=.true. ) 
     210         bits_mass_end     = icb_utl_mass( first_berg,justbits=.true. ) 
     211         floating_heat_end = icb_utl_heat( first_berg ) 
     212 
     213         nbergs_end        = icb_utl_count() 
    215214         zgrdd_berg_mass   = SUM( berg_mass (:,:)*e1e2t(:,:)*tmask_i(:,:) ) 
    216215         zgrdd_bits_mass   = SUM( bits_mass(:,:)*e1e2t(:,:)*tmask_i(:,:) ) 
     
    364363      ENDIF 
    365364      ! 
    366    END SUBROUTINE icb_budget 
    367  
    368  
    369    SUBROUTINE icb_budget_step 
     365   END SUBROUTINE icb_dia 
     366 
     367 
     368   SUBROUTINE icb_dia_step 
    370369      !!---------------------------------------------------------------------- 
    371370      !! things to reset at the beginning of each timestep 
     
    385384      real_calving (:,:,:) = 0._wp 
    386385      ! 
    387    END SUBROUTINE icb_budget_step 
    388  
    389  
    390    SUBROUTINE icb_budget_put 
     386   END SUBROUTINE icb_dia_step 
     387 
     388 
     389   SUBROUTINE icb_dia_put 
    391390      !!---------------------------------------------------------------------- 
    392391      !!---------------------------------------------------------------------- 
     
    405404      CALL iom_put( "berg_real_calving", real_calving(:,:,:) )   ! Calving into iceberg class                [kg/s] 
    406405      ! 
    407    END SUBROUTINE icb_budget_put 
    408  
    409  
    410    SUBROUTINE calving_budget( ki, kj, kn, pcalved, pheated ) 
     406   END SUBROUTINE icb_dia_put 
     407 
     408 
     409   SUBROUTINE icb_dia_calve( ki, kj, kn, pcalved, pheated ) 
    411410      !!---------------------------------------------------------------------- 
    412411      !!---------------------------------------------------------------------- 
     
    423422      heat_to_bergs_net          = heat_to_bergs_net    + pheated 
    424423      ! 
    425    END SUBROUTINE calving_budget 
    426  
    427  
    428    SUBROUTINE incoming_budget( kt,  pcalving_used, pheat_used ) 
     424   END SUBROUTINE icb_dia_calve 
     425 
     426 
     427   SUBROUTINE icb_dia_income( kt,  pcalving_used, pheat_used ) 
    429428      !!---------------------------------------------------------------------- 
    430429      !!---------------------------------------------------------------------- 
     
    439438         stored_start = SUM( berg_grid%stored_ice(:,:,:) ) 
    440439         IF( lk_mpp ) CALL mpp_sum( stored_start ) 
    441          WRITE(numicb,'(a,es13.6,a)')   'accumulate_calving: initial stored mass=',stored_start,' kg' 
     440         WRITE(numicb,'(a,es13.6,a)')   'icb_dia_income: initial stored mass=',stored_start,' kg' 
    442441         ! 
    443442         stored_heat_start = SUM( berg_grid%stored_heat(:,:) ) 
    444443         IF( lk_mpp ) CALL mpp_sum( stored_heat_start ) 
    445          WRITE(numicb,'(a,es13.6,a)')    'accumulate_calving: initial stored heat=',stored_heat_start,' J' 
     444         WRITE(numicb,'(a,es13.6,a)')    'icb_dia_income: initial stored heat=',stored_heat_start,' J' 
    446445      ENDIF 
    447446      ! 
     
    453452      calving_src_heat_used_net = calving_src_heat_used_net + SUM( pheat_used(:,:) ) 
    454453      ! 
    455    END SUBROUTINE incoming_budget 
    456  
    457  
    458    SUBROUTINE size_budget(ki, kj, pWn, pLn, pAbits,   & 
    459       &                   pmass_scale, pMnew, pnMbits, pz1_e1e2) 
     454   END SUBROUTINE icb_dia_income 
     455 
     456 
     457   SUBROUTINE icb_dia_size(ki, kj, pWn, pLn, pAbits,   & 
     458      &                    pmass_scale, pMnew, pnMbits, pz1_e1e2) 
    460459      !!---------------------------------------------------------------------- 
    461460      !!---------------------------------------------------------------------- 
     
    469468      bits_mass(ki,kj)    = bits_mass(ki,kj) + pnMbits * pz1_e1e2                           ! kg/m2 
    470469      ! 
    471    END SUBROUTINE size_budget 
    472  
    473  
    474    SUBROUTINE speed_budget() 
     470   END SUBROUTINE icb_dia_size 
     471 
     472 
     473   SUBROUTINE icb_dia_speed() 
    475474      !!---------------------------------------------------------------------- 
    476475      !!---------------------------------------------------------------------- 
     
    479478      nspeeding_tickets = nspeeding_tickets + 1 
    480479      ! 
    481    END SUBROUTINE speed_budget 
    482  
    483  
    484    SUBROUTINE melt_budget(ki, kj, pmnew, pheat, pmass_scale,   & 
     480   END SUBROUTINE icb_dia_speed 
     481 
     482 
     483   SUBROUTINE icb_dia_melt(ki, kj, pmnew, pheat, pmass_scale,   & 
    485484      &                   pdM, pdMbitsE, pdMbitsM, pdMb, pdMe,   & 
    486485      &                   pdMv, pz1_dt_e1e2 ) 
     
    503502      IF( pmnew <= 0._wp ) nbergs_melted = nbergs_melted + 1                        ! Delete the berg if completely melted 
    504503      ! 
    505    END SUBROUTINE melt_budget 
     504   END SUBROUTINE icb_dia_melt 
    506505 
    507506 
Note: See TracChangeset for help on using the changeset viewer.