Changeset 821
- Timestamp:
- 2008-03-06T12:22:15+01:00 (16 years ago)
- Location:
- branches/dev_002_LIM/NEMO/LIM_SRC
- Files:
-
- 2 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_002_LIM/NEMO/LIM_SRC/dom_ice.F90
r719 r821 1 MODULE dom_ice 1 MODULE dom_ice_2 2 #if defined key_lim2 2 3 !!====================================================================== 3 4 !! *** MODULE dom_ice *** 4 !! LIM Sea Ice : Domain variables5 !! LIM 2.0 Sea Ice : Domain variables 5 6 !!====================================================================== 6 7 !! History : 2.0 ! 03-08 (C. Ethe) Free form and module … … 12 13 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 13 14 !!---------------------------------------------------------------------- 14 USE par_ice 15 USE par_ice_2 15 16 16 17 IMPLICIT NONE … … 33 34 34 35 !!====================================================================== 35 END MODULE dom_ice 36 #endif 37 END MODULE dom_ice_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/ice.F90
r719 r821 1 MODULE ice 1 MODULE ice_2 2 2 !!====================================================================== 3 3 !! *** MODULE ice *** 4 4 !! Sea Ice physics: diagnostics variables of ice defined in memory 5 5 !!===================================================================== 6 #if defined key_ ice_lim6 #if defined key_lim2 7 7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' : LIMsea-ice model8 !! 'key_lim2' : LIM 2.0 sea-ice model 9 9 !!---------------------------------------------------------------------- 10 10 !! History : … … 16 16 !!---------------------------------------------------------------------- 17 17 !! * Modules used 18 USE par_ice ! LIM sea-ice parameters18 USE par_ice_2 ! LIM sea-ice parameters 19 19 20 20 IMPLICIT NONE … … 123 123 #else 124 124 !!---------------------------------------------------------------------- 125 !! Default option Empty module NO LIMsea-ice model125 !! Default option Empty module NO LIM 2.0 sea-ice model 126 126 !!---------------------------------------------------------------------- 127 127 #endif 128 128 129 129 !!====================================================================== 130 END MODULE ice 130 END MODULE ice_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/iceini.F90
r719 r821 1 MODULE iceini 1 MODULE iceini_2 2 2 !!====================================================================== 3 3 !! *** MODULE iceini *** 4 !! Sea-ice model : LIM Sea ice model Initialization4 !! Sea-ice model : LIM 2.0 Sea ice model Initialization 5 5 !!====================================================================== 6 6 !! History : 1.0 ! 02-08 (G. Madec) F90: Free form and modules 7 7 !! 2.0 ! 03-08 (C. Ethe) add ice_run 8 8 !!---------------------------------------------------------------------- 9 #if defined key_ ice_lim9 #if defined key_lim2 10 10 !!---------------------------------------------------------------------- 11 !! 'key_ ice_lim' : LIMsea-ice model11 !! 'key_lim2' : LIM 2.0 sea-ice model 12 12 !!---------------------------------------------------------------------- 13 13 !!---------------------------------------------------------------------- 14 !! ice_init : sea-ice model initialization15 !! ice_run : Definition some run parameter for ice model14 !! ice_init_2 : sea-ice model initialization 15 !! ice_run_2 : Definition some run parameter for ice model 16 16 !!---------------------------------------------------------------------- 17 17 USE dom_oce 18 USE dom_ice 18 USE dom_ice_2 19 19 USE in_out_manager 20 20 USE ice_oce ! ice variables … … 22 22 USE phycst ! Define parameters for the routines 23 23 USE ocfzpt 24 USE ice 25 USE limmsh 26 USE limistate 27 USE limrst 24 USE ice_2 25 USE limmsh_2 26 USE limistate_2 27 USE limrst_2 28 28 USE ini1d ! initialization of the 1D configuration 29 29 … … 31 31 PRIVATE 32 32 33 PUBLIC ice_init 33 PUBLIC ice_init_2 ! called by opa.F90 34 34 35 35 LOGICAL , PUBLIC :: ln_limdyn = .TRUE. !: flag for ice dynamics (T) or not (F) … … 46 46 CONTAINS 47 47 48 SUBROUTINE ice_init 48 SUBROUTINE ice_init_2 49 49 !!---------------------------------------------------------------------- 50 !! *** ROUTINE ice_init ***50 !! *** ROUTINE ice_init_2 *** 51 51 !! 52 52 !! ** purpose : … … 59 59 CALL ctlopn(numnam_ice,namelist_icename,'OLD', 'FORMATTED', 'SEQUENTIAL', & 60 60 1,numout,.FALSE.,1) 61 CALL ice_run ! read in namelist some run parameters61 CALL ice_run_2 ! read in namelist some run parameters 62 62 63 63 ! Louvain la Neuve Ice model … … 70 70 ENDIF 71 71 72 CALL lim_msh 72 CALL lim_msh_2 ! ice mesh initialization 73 73 74 74 ! Initial sea-ice state 75 75 IF( .NOT.ln_rstart ) THEN 76 CALL lim_istate 76 CALL lim_istate_2 ! start from rest: sea-ice deduced from sst 77 77 ELSE 78 CALL lim_rst_read 78 CALL lim_rst_read_2 ! start from a restart file 79 79 ENDIF 80 80 … … 85 85 # endif 86 86 ! 87 END SUBROUTINE ice_init 87 END SUBROUTINE ice_init_2 88 88 89 89 90 SUBROUTINE ice_run 90 SUBROUTINE ice_run_2 91 91 !!------------------------------------------------------------------- 92 !! *** ROUTINE ice_run ***92 !! *** ROUTINE ice_run_2 *** 93 93 !! 94 94 !! ** Purpose : Definition some run parameter for ice model … … 118 118 ENDIF 119 119 ! 120 END SUBROUTINE ice_run 120 END SUBROUTINE ice_run_2 121 121 122 122 #else 123 123 !!---------------------------------------------------------------------- 124 !! Default option : Empty module NO LIMsea-ice model124 !! Default option : Empty module NO LIM 2.0 sea-ice model 125 125 !!---------------------------------------------------------------------- 126 126 CONTAINS 127 SUBROUTINE ice_init 128 END SUBROUTINE ice_init 127 SUBROUTINE ice_init_2 ! Empty routine 128 END SUBROUTINE ice_init_2 129 129 #endif 130 130 131 131 !!====================================================================== 132 END MODULE iceini 132 END MODULE iceini_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/icestp.F90
r719 r821 1 MODULE icestp 1 MODULE icestp_2 2 2 !!====================================================================== 3 !! *** MODULE icestp ***3 !! *** MODULE icestp_2 *** 4 4 !! Sea-Ice model : LIM Sea ice model time-stepping 5 5 !!====================================================================== … … 8 8 !! 2.0 ! 02-09 (G. Madec, C. Ethe) F90: Free form and module 9 9 !!---------------------------------------------------------------------- 10 #if defined key_ ice_lim11 !!---------------------------------------------------------------------- 12 !! 'key_ ice_lim' : Limsea-ice model13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! ice_stp : sea-ice model time-stepping10 #if defined key_lim2 11 !!---------------------------------------------------------------------- 12 !! 'key_lim2' : LIM 2.0 sea-ice model 13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! ice_stp_2 : sea-ice model time-stepping 16 16 !!---------------------------------------------------------------------- 17 17 USE dom_oce … … 20 20 USE ice_oce ! ice variables 21 21 USE flx_oce ! forcings variables 22 USE dom_ice 22 USE dom_ice_2 23 23 USE cpl_oce 24 24 USE daymod 25 25 USE phycst ! Define parameters for the routines 26 26 USE taumod 27 USE ice 27 USE ice_2 28 28 USE ocesbc 29 29 USE lbclnk 30 USE limdyn 31 USE limtrp 32 USE limthd 33 USE limflx 34 USE limdia 35 USE limwri 36 USE limrst 37 USE limdmp 30 USE limdyn_2 31 USE limtrp_2 32 USE limthd_2 33 USE limflx_2 34 USE limdia_2 35 USE limwri_2 36 USE limrst_2 37 USE limdmp_2 ! Ice damping 38 38 USE prtctl ! Print control 39 39 … … 41 41 PRIVATE 42 42 43 PUBLIC ice_stp 43 PUBLIC ice_stp_2 ! called by step.F90 44 44 45 45 !! * Substitutions … … 54 54 CONTAINS 55 55 56 SUBROUTINE ice_stp ( kt )56 SUBROUTINE ice_stp_2 ( kt ) 57 57 !!--------------------------------------------------------------------- 58 !! *** ROUTINE ice_stp ***58 !! *** ROUTINE ice_stp_2 *** 59 59 !! 60 60 !! ** Purpose : Louvain la Neuve Sea Ice Model time stepping … … 196 196 197 197 ! !-----------------------! 198 CALL lim_rst_opn ( kt )! Open Ice restart file !198 CALL lim_rst_opn_2( kt ) ! Open Ice restart file ! 199 199 ! !-----------------------! 200 200 201 201 ! !--------------! 202 CALL lim_dyn ( kt )! Ice dynamics ! ( rheology/dynamics )202 CALL lim_dyn_2( kt ) ! Ice dynamics ! ( rheology/dynamics ) 203 203 ! !--------------! 204 204 IF(ln_ctl) THEN … … 209 209 210 210 ! !---------------! 211 CALL lim_trp ( kt )! Ice transport ! ( Advection/diffusion )211 CALL lim_trp_2( kt ) ! Ice transport ! ( Advection/diffusion ) 212 212 ! !---------------! 213 213 IF(ln_ctl) THEN … … 220 220 ! !-------------! 221 221 #if defined key_agrif 222 IF( Agrif_Root() ) CALL lim_dmp (kt)222 IF( Agrif_Root() ) CALL lim_dmp_2(kt) 223 223 #else 224 CALL lim_dmp (kt)224 CALL lim_dmp_2(kt) 225 225 #endif 226 226 ENDIF 227 227 ! !--------------------! 228 CALL lim_thd ( kt )! Ice thermodynamics !228 CALL lim_thd_2( kt ) ! Ice thermodynamics ! 229 229 ! !--------------------! 230 230 IF(ln_ctl) THEN … … 236 236 ! Mass and heat fluxes from ice to ocean 237 237 ! !------------------------------! 238 CALL lim_flx 238 CALL lim_flx_2 ! Ice/Ocean Mass & Heat fluxes ! 239 239 ! !------------------------------! 240 240 241 241 IF( MOD( kt + nfice -1, ninfo ) == 0 .OR. ntmoy == 1 ) THEN !-----------------! 242 CALL lim_dia ( kt )! Ice Diagnostics !243 ENDIF !-----------------!244 245 ! !-------------! 246 CALL lim_wri ( kt )! Ice outputs !242 CALL lim_dia_2( kt ) ! Ice Diagnostics ! 243 ENDIF !-----------------! 244 245 ! !-------------! 246 CALL lim_wri_2( kt ) ! Ice outputs ! 247 247 ! !-------------! 248 248 249 249 ! !------------------------! 250 IF( lrst_ice ) CALL lim_rst_write ( kt )! Write Ice restart file !250 IF( lrst_ice ) CALL lim_rst_write_2( kt ) ! Write Ice restart file ! 251 251 ! !------------------------! 252 252 … … 271 271 ENDIF 272 272 ! 273 END SUBROUTINE ice_stp 273 END SUBROUTINE ice_stp_2 274 274 275 275 #else 276 276 !!---------------------------------------------------------------------- 277 !! Default option Dummy module NO LIMsea-ice model277 !! Default option Dummy module NO LIM 2.0 sea-ice model 278 278 !!---------------------------------------------------------------------- 279 279 CONTAINS 280 SUBROUTINE ice_stp ( kt ) ! Dummy routine281 WRITE(*,*) 'ice_stp : You should not have seen this print! error?', kt282 END SUBROUTINE ice_stp 280 SUBROUTINE ice_stp_2 ( kt ) ! Dummy routine 281 WRITE(*,*) 'ice_stp_2: You should not have seen this print! error?', kt 282 END SUBROUTINE ice_stp_2 283 283 #endif 284 284 285 285 !!====================================================================== 286 END MODULE icestp 286 END MODULE icestp_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limadv.F90
r719 r821 1 MODULE limadv 1 MODULE limadv_2 2 2 !!====================================================================== 3 !! *** MODULE limadv ***4 !! LIM sea-ice model : sea-ice advection3 !! *** MODULE limadv_2 *** 4 !! LIM 2.0 sea-ice model : sea-ice advection 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_adv_x : advection of sea ice on x axis11 !! lim_adv_y : advection of sea ice on y axis6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' LIM 2.0 sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_adv_x_2 : advection of sea ice on x axis 11 !! lim_adv_y_2 : advection of sea ice on y axis 12 12 !!---------------------------------------------------------------------- 13 13 !! * Modules used 14 14 USE dom_oce 15 USE dom_ice 15 USE dom_ice_2 16 16 USE ice_oce ! ice variables 17 17 USE in_out_manager ! I/O manager … … 23 23 24 24 !! * Routine accessibility 25 PUBLIC lim_adv_x ! called by lim_trp26 PUBLIC lim_adv_y ! called by lim_trp25 PUBLIC lim_adv_x_2 ! called by lim_trp 26 PUBLIC lim_adv_y_2 ! called by lim_trp 27 27 28 28 !! * Module variables … … 39 39 CONTAINS 40 40 41 SUBROUTINE lim_adv_x ( pdf, put , pcrh, psm , ps0 , &42 & psx, psxx, psy , psyy, psxy )41 SUBROUTINE lim_adv_x_2( pdf, put , pcrh, psm , ps0 , & 42 & psx, psxx, psy , psyy, psxy ) 43 43 !!--------------------------------------------------------------------- 44 !! ** routine lim_adv_x **44 !! ** routine lim_adv_x_2 ** 45 45 !! 46 46 !! ** purpose : Computes and adds the advection trend to sea-ice … … 232 232 ENDIF 233 233 234 END SUBROUTINE lim_adv_x 235 236 237 SUBROUTINE lim_adv_y ( pdf, pvt , pcrh, psm , ps0 , &238 & psx, psxx, psy , psyy, psxy )234 END SUBROUTINE lim_adv_x_2 235 236 237 SUBROUTINE lim_adv_y_2( pdf, pvt , pcrh, psm , ps0 , & 238 & psx, psxx, psy , psyy, psxy ) 239 239 !!--------------------------------------------------------------------- 240 !! ** routine lim_adv_y **240 !! ** routine lim_adv_y_2 ** 241 241 !! 242 242 !! ** purpose : Computes and adds the advection trend to sea-ice … … 432 432 ENDIF 433 433 434 END SUBROUTINE lim_adv_y 434 END SUBROUTINE lim_adv_y_2 435 435 436 436 #else 437 437 !!---------------------------------------------------------------------- 438 !! Default option Dummy module NO LIMsea-ice model438 !! Default option Dummy module NO LIM 2.0 sea-ice model 439 439 !!---------------------------------------------------------------------- 440 440 CONTAINS 441 SUBROUTINE lim_adv_x ! Empty routine442 END SUBROUTINE lim_adv_x 443 SUBROUTINE lim_adv_y 444 END SUBROUTINE lim_adv_y 441 SUBROUTINE lim_adv_x_2 ! Empty routine 442 END SUBROUTINE lim_adv_x_2 443 SUBROUTINE lim_adv_y_2 ! Empty routine 444 END SUBROUTINE lim_adv_y_2 445 445 446 446 #endif 447 447 448 END MODULE limadv 448 END MODULE limadv_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limdia.F90
r719 r821 1 MODULE limdia 1 MODULE limdia_2 2 2 !!====================================================================== 3 !! *** MODULE limdia ***3 !! *** MODULE limdia_2 *** 4 4 !! diagnostics of ice model 5 5 !!====================================================================== … … 8 8 !! 9.0 ! 06-08 (S. Masson) change frequency output control 9 9 !!------------------------------------------------------------------- 10 #if defined key_ ice_lim11 !!---------------------------------------------------------------------- 12 !! 'key_ ice_lim' : LIMsea-ice model13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! lim_dia : computation of the time evolution of keys var.16 !! lim_dia_init : initialization and namelist read10 #if defined key_lim2 11 !!---------------------------------------------------------------------- 12 !! 'key_lim2' : LIM 2.0 sea-ice model 13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! lim_dia_2 : computation of the time evolution of keys var. 16 !! lim_dia_init_2 : initialization and namelist read 17 17 !!---------------------------------------------------------------------- 18 18 USE phycst ! 19 USE par_ice 19 USE par_ice_2 ! ice parameters 20 20 USE ice_oce ! ice variables 21 21 USE daymod ! 22 USE dom_ice 23 USE ice 24 USE limistate 22 USE dom_ice_2 ! 23 USE ice_2 ! 24 USE limistate_2 ! 25 25 USE in_out_manager ! I/O manager 26 26 … … 28 28 PRIVATE 29 29 30 PUBLIC lim_dia 30 PUBLIC lim_dia_2 ! called by ice_step 31 31 INTEGER, PUBLIC :: ntmoy = 1 , & !: instantaneous values of ice evolution or averaging ntmoy 32 32 & ninfo = 1 !: frequency of ouputs on file ice_evolu in case of averaging … … 64 64 CONTAINS 65 65 66 SUBROUTINE lim_dia ( kt )66 SUBROUTINE lim_dia_2( kt ) 67 67 !!-------------------------------------------------------------------- 68 !! *** ROUTINE lim_dia ***68 !! *** ROUTINE lim_dia_2 *** 69 69 !! 70 70 !! ** Purpose : Computation and outputs on file ice.evolu … … 82 82 !!------------------------------------------------------------------- 83 83 84 IF( kt == nit000 ) CALL lim_dia_init 84 IF( kt == nit000 ) CALL lim_dia_init_2 ! initialisation of ice_evolu file 85 85 86 86 ! computation of key variables at each time step … … 162 162 ENDIF 163 163 ! 164 END SUBROUTINE lim_dia 164 END SUBROUTINE lim_dia_2 165 165 166 166 167 SUBROUTINE lim_dia_init 167 SUBROUTINE lim_dia_init_2 168 168 !!------------------------------------------------------------------- 169 !! *** ROUTINE lim_dia_init ***169 !! *** ROUTINE lim_dia_init_2 *** 170 170 !! 171 171 !! ** Purpose : Preparation of the file ice_evolu for the output of … … 190 190 IF(lwp) THEN 191 191 WRITE(numout,*) 192 WRITE(numout,*) 'lim_dia_init : ice parameters for ice diagnostics '193 WRITE(numout,*) '~~~~~~~~~~~~ '192 WRITE(numout,*) 'lim_dia_init_2 : ice parameters for ice diagnostics ' 193 WRITE(numout,*) '~~~~~~~~~~~~~~' 194 194 WRITE(numout,*) ' format of the output values fmtinf = ', fmtinf 195 195 WRITE(numout,*) ' number of variables written in one line nfrinf = ', nfrinf … … 274 274 1111 FORMAT( 3(F7.1,1X,F7.3,1X),I3,A ) 275 275 ! 276 END SUBROUTINE lim_dia_init 276 END SUBROUTINE lim_dia_init_2 277 277 278 278 #else 279 279 !!---------------------------------------------------------------------- 280 !! Default option : NO LIMsea-ice model280 !! Default option : NO LIM 2.0 sea-ice model 281 281 !!---------------------------------------------------------------------- 282 282 CONTAINS 283 SUBROUTINE lim_dia ! Empty routine284 END SUBROUTINE lim_dia 283 SUBROUTINE lim_dia_2 ! Empty routine 284 END SUBROUTINE lim_dia_2 285 285 #endif 286 286 287 287 !!====================================================================== 288 END MODULE limdia 288 END MODULE limdia_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limdmp.F90
r719 r821 1 MODULE limdmp 1 MODULE limdmp_2 2 2 !!====================================================================== 3 !! *** MODULE limdmp ***3 !! *** MODULE limdmp_2 *** 4 4 !! Ice model : restoring Ice thickness and Fraction leads 5 5 !!====================================================================== 6 6 !! History : 2.0 ! 04-04 (S. Theetten) Original code 7 7 !!---------------------------------------------------------------------- 8 #if defined key_ ice_lim&& defined key_tradmp8 #if defined key_lim2 && defined key_tradmp 9 9 !!---------------------------------------------------------------------- 10 !! 'key_ ice_lim' AND LIMsea-ice model10 !! 'key_lim2' AND LIM 2.0 sea-ice model 11 11 !! 'key_tradmp' Damping 12 12 !!---------------------------------------------------------------------- 13 13 !!---------------------------------------------------------------------- 14 !! lim_dmp : ice model damping14 !! lim_dmp_2 : ice model damping 15 15 !!---------------------------------------------------------------------- 16 16 USE in_out_manager ! I/O manager 17 17 USE phycst ! physical constants 18 USE ice 18 USE ice_2 19 19 USE ice_oce 20 20 USE tradmp … … 27 27 PRIVATE 28 28 29 PUBLIC lim_dmp ! called by ice_step29 PUBLIC lim_dmp_2 ! called by ice_step_2 30 30 31 31 INTEGER :: nice1, nice2, & ! first and second record used … … 46 46 CONTAINS 47 47 48 SUBROUTINE lim_dmp (kt)48 SUBROUTINE lim_dmp_2(kt) 49 49 !!------------------------------------------------------------------- 50 !! *** ROUTINE lim_dmp ***50 !! *** ROUTINE lim_dmp_2 *** 51 51 !! 52 52 !! ** purpose : ice model damping : restoring ice thickness and … … 60 60 !!--------------------------------------------------------------------- 61 61 ! 62 CALL dta_lim ( kt )62 CALL dta_lim_2( kt ) 63 63 64 64 DO jj = 2, jpjm1 … … 69 69 END DO 70 70 ! 71 END SUBROUTINE lim_dmp 71 END SUBROUTINE lim_dmp_2 72 72 73 73 74 SUBROUTINE dta_lim ( kt )74 SUBROUTINE dta_lim_2( kt ) 75 75 !!---------------------------------------------------------------------- 76 !! *** ROUTINE dta_lim ***76 !! *** ROUTINE dta_lim_2 *** 77 77 !! 78 78 !! ** Purpose : Reads monthly ice thickness and fraction lead data … … 167 167 IF( kt == nitend ) CALL iom_close( inumice_dmp ) 168 168 ! 169 END SUBROUTINE dta_lim 169 END SUBROUTINE dta_lim_2 170 170 171 171 #else … … 174 174 !!---------------------------------------------------------------------- 175 175 CONTAINS 176 SUBROUTINE lim_dmp ( kt ) ! Dummy routine177 WRITE(*,*) 'lim_dmp : You should not see this print! error? ', kt178 END SUBROUTINE lim_dmp 176 SUBROUTINE lim_dmp_2( kt ) ! Dummy routine 177 WRITE(*,*) 'lim_dmp_2: You should not see this print! error? ', kt 178 END SUBROUTINE lim_dmp_2 179 179 #endif 180 180 181 181 !!====================================================================== 182 END MODULE limdmp 182 END MODULE limdmp_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limdyn.F90
r719 r821 1 MODULE limdyn 1 MODULE limdyn_2 2 2 !!====================================================================== 3 !! *** MODULE limdyn ***3 !! *** MODULE limdyn_2 *** 4 4 !! Sea-Ice dynamics : 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' : LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_dyn : computes ice velocities11 !! lim_dyn_init : initialization and namelist read6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' : LIM 2.0 sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_dyn_2 : computes ice velocities 11 !! lim_dyn_init_2 : initialization and namelist read 12 12 !!---------------------------------------------------------------------- 13 13 !! * Modules used 14 14 USE phycst 15 15 USE in_out_manager ! I/O manager 16 USE dom_ice 16 USE dom_ice_2 17 17 USE dom_oce ! ocean space and time domain 18 USE ice 18 USE ice_2 19 19 USE ice_oce 20 USE iceini 21 USE limistate 22 USE limrhg 20 USE iceini_2 21 USE limistate_2 22 USE limrhg_2 ! ice rheology 23 23 USE lbclnk 24 24 USE lib_mpp … … 29 29 30 30 !! * Accessibility 31 PUBLIC lim_dyn ! routine called by ice_step31 PUBLIC lim_dyn_2 ! routine called by ice_step 32 32 33 33 !! * Module variables … … 42 42 CONTAINS 43 43 44 SUBROUTINE lim_dyn ( kt )44 SUBROUTINE lim_dyn_2( kt ) 45 45 !!------------------------------------------------------------------- 46 !! *** ROUTINE lim_dyn ***46 !! *** ROUTINE lim_dyn_2 *** 47 47 !! 48 48 !! ** Purpose : compute ice velocity and ocean-ice stress … … 74 74 !!--------------------------------------------------------------------- 75 75 76 IF( kt == nit000 ) CALL lim_dyn_init ! Initialization (first time-step only)76 IF( kt == nit000 ) CALL lim_dyn_init_2 ! Initialization (first time-step only) 77 77 78 78 IF ( ln_limdyn ) THEN … … 97 97 CALL prt_ctl_info('lim_dyn : i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj) 98 98 ENDIF 99 CALL lim_rhg ( i_j1, i_jpj )99 CALL lim_rhg_2( i_j1, i_jpj ) 100 100 101 101 ELSE ! optimization of the computational area … … 119 119 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 120 120 121 CALL lim_rhg ( i_j1, i_jpj )121 CALL lim_rhg_2( i_j1, i_jpj ) 122 122 123 123 ! Southern hemisphere … … 130 130 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 131 131 132 CALL lim_rhg ( i_j1, i_jpj )132 CALL lim_rhg_2( i_j1, i_jpj ) 133 133 134 134 ELSE ! local domain extends over one hemisphere only … … 149 149 IF(ln_ctl) WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 150 150 151 CALL lim_rhg ( i_j1, i_jpj )151 CALL lim_rhg_2( i_j1, i_jpj ) 152 152 153 153 ENDIF … … 250 250 ENDIF 251 251 252 END SUBROUTINE lim_dyn 253 254 255 SUBROUTINE lim_dyn_init 252 END SUBROUTINE lim_dyn_2 253 254 255 SUBROUTINE lim_dyn_init_2 256 256 !!------------------------------------------------------------------- 257 !! *** ROUTINE lim_dyn_init ***257 !! *** ROUTINE lim_dyn_init_2 *** 258 258 !! 259 259 !! ** Purpose : Physical constants and parameters linked to the ice … … 281 281 IF(lwp) THEN 282 282 WRITE(numout,*) 283 WRITE(numout,*) 'lim_dyn_init 284 WRITE(numout,*) '~~~~~~~~~~~~ '283 WRITE(numout,*) 'lim_dyn_init_2: ice parameters for ice dynamics ' 284 WRITE(numout,*) '~~~~~~~~~~~~~~' 285 285 WRITE(numout,*) ' tolerance parameter epsd = ', epsd 286 286 WRITE(numout,*) ' coefficient for semi-implicit coriolis alpha = ', alpha … … 313 313 ahiv(:,:) = ahi0 * vmask(:,:,1) 314 314 315 END SUBROUTINE lim_dyn_init 315 END SUBROUTINE lim_dyn_init_2 316 316 317 317 #else 318 318 !!---------------------------------------------------------------------- 319 !! Default option Empty module NO LIMsea-ice model319 !! Default option Empty module NO LIM 2.0 sea-ice model 320 320 !!---------------------------------------------------------------------- 321 321 CONTAINS 322 SUBROUTINE lim_dyn ! Empty routine323 END SUBROUTINE lim_dyn 322 SUBROUTINE lim_dyn_2 ! Empty routine 323 END SUBROUTINE lim_dyn_2 324 324 #endif 325 325 326 326 !!====================================================================== 327 END MODULE limdyn 327 END MODULE limdyn_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limflx.F90
r719 r821 1 MODULE limflx 1 MODULE limflx_2 2 2 !!====================================================================== 3 !! *** MODULE limflx ***3 !! *** MODULE limflx_2 *** 4 4 !! computation of the flux at the sea ice/ocean interface 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_flx : flux at the ice / ocean interface6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' LIM 2.0 sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_flx_2 : flux at the ice / ocean interface 11 11 !!---------------------------------------------------------------------- 12 12 !! * Modules used … … 16 16 USE ice_oce ! sea-ice variable 17 17 USE flx_oce ! sea-ice/ocean forcings variables 18 USE ice 19 USE flxblk ! bulk formulea18 USE ice_2 ! LIM sea-ice variables 19 USE flxblk_2 ! bulk formulea 20 20 USE lbclnk ! ocean lateral boundary condition 21 21 USE in_out_manager ! I/O manager 22 USE albedo 22 USE albedo_2 ! albedo parameters 23 23 USE prtctl ! Print control 24 24 … … 27 27 28 28 !! * Routine accessibility 29 PUBLIC lim_flx ! called by lim_step29 PUBLIC lim_flx_2 ! called by lim_step_2 30 30 31 31 !! * Module variables … … 44 44 CONTAINS 45 45 46 SUBROUTINE lim_flx 46 SUBROUTINE lim_flx_2 47 47 !!------------------------------------------------------------------- 48 !! *** ROUTINE lim_flx ***48 !! *** ROUTINE lim_flx_2 *** 49 49 !! 50 50 !! ** Purpose : Computes the mass and heat fluxes to the ocean … … 193 193 ! 2) Computation of snow/ice and ocean albedo ! 194 194 !------------------------------------------------! 195 CALL flx_blk_albedo ( zalb, zalcn, zalbp, zaldum )195 CALL flx_blk_albedo_2( zalb, zalcn, zalbp, zaldum ) 196 196 197 197 alb_ice(:,:) = 0.5 * zalbp(:,:) + 0.5 * zalb (:,:) ! Ice albedo … … 205 205 ENDIF 206 206 207 END SUBROUTINE lim_flx 207 END SUBROUTINE lim_flx_2 208 208 209 209 #else 210 210 !!---------------------------------------------------------------------- 211 !! Default option : Dummy module NO LIMsea-ice model211 !! Default option : Dummy module NO LIM 2.0 sea-ice model 212 212 !!---------------------------------------------------------------------- 213 213 CONTAINS 214 SUBROUTINE lim_flx 215 END SUBROUTINE lim_flx 214 SUBROUTINE lim_flx_2 ! Dummy routine 215 END SUBROUTINE lim_flx_2 216 216 #endif 217 217 218 218 !!====================================================================== 219 END MODULE limflx 219 END MODULE limflx_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limhdf.F90
r719 r821 1 MODULE limhdf 1 MODULE limhdf_2 2 2 !!====================================================================== 3 !! *** MODULE limhdf ***4 !! LIM ice model : horizontal diffusion of sea-ice quantities3 !! *** MODULE limhdf_2 *** 4 !! LIM 2.0 ice model : horizontal diffusion of sea-ice quantities 5 5 !!====================================================================== 6 #if defined key_ ice_lim6 #if defined key_lim2 7 7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model8 !! 'key_lim2' i LIM 2.0 sea-ice model 9 9 !!---------------------------------------------------------------------- 10 !! lim_hdf : diffusion trend on sea-ice variable10 !! lim_hdf_2 : diffusion trend on sea-ice variable 11 11 !!---------------------------------------------------------------------- 12 12 !! * Modules used … … 14 14 USE ice_oce ! ice variables 15 15 USE in_out_manager 16 USE ice 16 USE ice_2 17 17 USE lbclnk 18 18 USE lib_mpp … … 23 23 24 24 !! * Routine accessibility 25 PUBLIC lim_hdf ! called by lim_tra25 PUBLIC lim_hdf_2 ! called by lim_tra_2 26 26 27 27 !! * Module variables … … 40 40 CONTAINS 41 41 42 SUBROUTINE lim_hdf ( ptab )42 SUBROUTINE lim_hdf_2( ptab ) 43 43 !!------------------------------------------------------------------- 44 !! *** ROUTINE lim_hdf ***44 !! *** ROUTINE lim_hdf_2 *** 45 45 !! 46 46 !! ** purpose : Compute and add the diffusive trend on sea-ice … … 171 171 ENDIF 172 172 173 END SUBROUTINE lim_hdf 173 END SUBROUTINE lim_hdf_2 174 174 175 175 #else 176 176 !!---------------------------------------------------------------------- 177 !! Default option Dummy module NO LIMsea-ice model177 !! Default option Dummy module NO LIM 2.0 sea-ice model 178 178 !!---------------------------------------------------------------------- 179 179 CONTAINS 180 SUBROUTINE lim_hdf 181 END SUBROUTINE lim_hdf 180 SUBROUTINE lim_hdf_2 ! Empty routine 181 END SUBROUTINE lim_hdf_2 182 182 #endif 183 183 184 184 !!====================================================================== 185 END MODULE limhdf 185 END MODULE limhdf_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limistate.F90
r719 r821 1 MODULE limistate 1 MODULE limistate_2 2 2 !!====================================================================== 3 !! *** MODULE limistate ***3 !! *** MODULE limistate_2 *** 4 4 !! Initialisation of diagnostics ice variables 5 5 !!====================================================================== … … 8 8 !! ! 06-07 (S. Masson) IOM to read the restart 9 9 !!-------------------------------------------------------------------- 10 #if defined key_ ice_lim11 !!---------------------------------------------------------------------- 12 !! 'key_ ice_lim' : LIMsea-ice model13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! lim_istate : Initialisation of diagnostics ice variables16 !! lim_istate_init : initialization of ice state and namelist read10 #if defined key_lim2 11 !!---------------------------------------------------------------------- 12 !! 'key_lim2' : LIM 2.0 sea-ice model 13 !!---------------------------------------------------------------------- 14 !!---------------------------------------------------------------------- 15 !! lim_istate_2 : Initialisation of diagnostics ice variables 16 !! lim_istate_init_2 : initialization of ice state and namelist read 17 17 !!---------------------------------------------------------------------- 18 18 USE phycst … … 20 20 USE oce ! dynamics and tracers variables !!gm used??? 21 21 USE dom_oce !!gm used??? 22 USE par_ice 22 USE par_ice_2 ! ice parameters 23 23 USE ice_oce ! ice variables 24 USE dom_ice 25 USE ice ! ??? 24 USE dom_ice_2 26 25 USE lbclnk 27 USE ice 26 USE ice_2 28 27 USE iom 29 28 USE in_out_manager … … 32 31 PRIVATE 33 32 34 PUBLIC lim_istate ! routine called by lim_init.F9033 PUBLIC lim_istate_2 ! routine called by lim_init_2.F90 35 34 36 35 REAL(wp) :: & !!! ** init namelist (namiceini) ** … … 54 53 CONTAINS 55 54 56 SUBROUTINE lim_istate 57 !!------------------------------------------------------------------- 58 !! *** ROUTINE lim_istate ***55 SUBROUTINE lim_istate_2 56 !!------------------------------------------------------------------- 57 !! *** ROUTINE lim_istate_2 *** 59 58 !! 60 59 !! ** Purpose : defined the sea-ice initial state … … 68 67 !-------------------------------------------------------------------- 69 68 70 CALL lim_istate_init 69 CALL lim_istate_init_2 ! reading the initials parameters of the ice 71 70 72 71 !-- Initialisation of sst,sss,u,v do i=1,jpi … … 200 199 CALL lbc_lnk( sss_io , 'T', 1. ) 201 200 ! 202 END SUBROUTINE lim_istate 201 END SUBROUTINE lim_istate_2 203 202 204 203 205 SUBROUTINE lim_istate_init 206 !!------------------------------------------------------------------- 207 !! *** ROUTINE lim_istate_init ***204 SUBROUTINE lim_istate_init_2 205 !!------------------------------------------------------------------- 206 !! *** ROUTINE lim_istate_init_2 *** 208 207 !! 209 208 !! ** Purpose : Definition of initial state of the ice … … 273 272 ENDIF 274 273 ! 275 END SUBROUTINE lim_istate_init 274 END SUBROUTINE lim_istate_init_2 276 275 277 276 #else 278 277 !!---------------------------------------------------------------------- 279 !! Default option : Empty module NO LIMsea-ice model278 !! Default option : Empty module NO LIM 2.0 sea-ice model 280 279 !!---------------------------------------------------------------------- 281 280 CONTAINS 282 SUBROUTINE lim_istate 283 END SUBROUTINE lim_istate 281 SUBROUTINE lim_istate_2 ! Empty routine 282 END SUBROUTINE lim_istate_2 284 283 #endif 285 284 286 285 !!====================================================================== 287 END MODULE limistate 286 END MODULE limistate_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limmsh.F90
r719 r821 1 MODULE limmsh 1 MODULE limmsh_2 2 2 !!====================================================================== 3 !! *** MODULE limmsh ***4 !! LIM ice model : definition of the ice mesh parameters3 !! *** MODULE limmsh_2 *** 4 !! LIM 2.0 ice model : definition of the ice mesh parameters 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_msh : definition of the ice mesh6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' LIM 2.0sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_msh_2 : definition of the ice mesh 11 11 !!---------------------------------------------------------------------- 12 12 !! * Modules used 13 13 USE phycst 14 14 USE dom_oce 15 USE dom_ice 15 USE dom_ice_2 16 16 USE lbclnk 17 17 USE in_out_manager … … 21 21 22 22 !! * Accessibility 23 PUBLIC lim_msh ! routine called by ice_ini.F9023 PUBLIC lim_msh_2 ! routine called by ice_ini_2.F90 24 24 25 25 !!---------------------------------------------------------------------- … … 31 31 CONTAINS 32 32 33 SUBROUTINE lim_msh 33 SUBROUTINE lim_msh_2 34 34 !!------------------------------------------------------------------- 35 !! *** ROUTINE lim_msh ***35 !! *** ROUTINE lim_msh_2 *** 36 36 !! 37 37 !! ** Purpose : Definition of the charact. of the numerical grid … … 62 62 IF(lwp) THEN 63 63 WRITE(numout,*) 64 WRITE(numout,*) 'lim_msh : LIMsea-ice model, mesh initialization'65 WRITE(numout,*) '~~~~~~~ '64 WRITE(numout,*) 'lim_msh_2 : LIM 2.0 sea-ice model, mesh initialization' 65 WRITE(numout,*) '~~~~~~~~~' 66 66 ENDIF 67 67 … … 245 245 area(:,:) = e1t(:,:) * e2t(:,:) 246 246 247 END SUBROUTINE lim_msh 247 END SUBROUTINE lim_msh_2 248 248 249 249 #else … … 252 252 !!---------------------------------------------------------------------- 253 253 CONTAINS 254 SUBROUTINE lim_msh ! Dummy routine255 END SUBROUTINE lim_msh 254 SUBROUTINE lim_msh_2 ! Dummy routine 255 END SUBROUTINE lim_msh_2 256 256 #endif 257 257 258 258 !!====================================================================== 259 END MODULE limmsh 259 END MODULE limmsh_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limrhg.F90
r719 r821 1 MODULE limrhg 1 MODULE limrhg_2 2 2 !!====================================================================== 3 !! *** MODULE limrhg ***3 !! *** MODULE limrhg_2 *** 4 4 !! Ice rheology : performs sea ice rheology 5 5 !!====================================================================== 6 #if defined key_ ice_lim6 #if defined key_lim2 7 7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model8 !! 'key_lim2' LIM 2.0 sea-ice model 9 9 !!---------------------------------------------------------------------- 10 !! lim_rhg : computes ice velocities10 !! lim_rhg_2 : computes ice velocities 11 11 !!---------------------------------------------------------------------- 12 12 !! * Modules used … … 14 14 USE par_oce 15 15 USE ice_oce ! ice variables 16 USE dom_ice 17 USE ice 16 USE dom_ice_2 17 USE ice_2 18 18 USE lbclnk 19 19 USE lib_mpp … … 25 25 26 26 !! * Routine accessibility 27 PUBLIC lim_rhg ! routine called by lim_dyn27 PUBLIC lim_rhg_2 ! routine called by lim_dyn_2 28 28 29 29 !! * Module variables … … 39 39 CONTAINS 40 40 41 SUBROUTINE lim_rhg ( k_j1, k_jpj )41 SUBROUTINE lim_rhg_2( k_j1, k_jpj ) 42 42 !!------------------------------------------------------------------- 43 !! *** SUBROUTINR lim_rhg ***43 !! *** SUBROUTINR lim_rhg_2 *** 44 44 !! 45 45 !! ** purpose : determines the velocity field of sea ice by using … … 650 650 ENDIF 651 651 652 END SUBROUTINE lim_rhg 652 END SUBROUTINE lim_rhg_2 653 653 654 654 #else 655 655 !!---------------------------------------------------------------------- 656 !! Default option Dummy module NOLIM sea-ice model656 !! Default option Dummy module NO 2.0 LIM sea-ice model 657 657 !!---------------------------------------------------------------------- 658 658 CONTAINS 659 SUBROUTINE lim_rhg ( k1 , k2 )! Dummy routine660 WRITE(*,*) 'lim_rhg : You should not have seen this print! error?', k1, k2661 END SUBROUTINE lim_rhg 659 SUBROUTINE lim_rhg_2( k1 , k2 ) ! Dummy routine 660 WRITE(*,*) 'lim_rhg_2: You should not have seen this print! error?', k1, k2 661 END SUBROUTINE lim_rhg_2 662 662 #endif 663 663 664 664 !!============================================================================== 665 END MODULE limrhg 665 END MODULE limrhg_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limrst.F90
r783 r821 1 MODULE limrst 1 MODULE limrst_2 2 2 !!====================================================================== 3 !! *** MODULE limrst ***3 !! *** MODULE limrst_2 *** 4 4 !! Ice restart : write the ice restart file 5 5 !!====================================================================== … … 7 7 !! ! 06-07 (S. Masson) use IOM for restart read/write 8 8 !!---------------------------------------------------------------------- 9 #if defined key_ ice_lim10 !!---------------------------------------------------------------------- 11 !! 'key_ ice_lim' : LIMsea-ice model12 !!---------------------------------------------------------------------- 13 !!---------------------------------------------------------------------- 14 !! lim_rst_opn : open ice restart file15 !! lim_rst_write : write of the ice restart file16 !! lim_rst_read : read the ice restart file17 !!---------------------------------------------------------------------- 18 USE ice 9 #if defined key_lim2 10 !!---------------------------------------------------------------------- 11 !! 'key_lim2' : LIM 2.0 sea-ice model 12 !!---------------------------------------------------------------------- 13 !!---------------------------------------------------------------------- 14 !! lim_rst_opn_2 : open ice restart file 15 !! lim_rst_write_2 : write of the ice restart file 16 !! lim_rst_read_2 : read the ice restart file 17 !!---------------------------------------------------------------------- 18 USE ice_2 19 19 USE dom_oce 20 20 USE ice_oce ! ice variables … … 27 27 PRIVATE 28 28 29 PUBLIC lim_rst_opn ! routine called by ??? module30 PUBLIC lim_rst_write ! routine called by ??? module31 PUBLIC lim_rst_read ! routine called by ??? module29 PUBLIC lim_rst_opn_2 ! routine called by ??? module 30 PUBLIC lim_rst_write_2 ! routine called by ??? module 31 PUBLIC lim_rst_read_2 ! routine called by ??? module 32 32 33 33 LOGICAL, PUBLIC :: lrst_ice !: logical to control the ice restart write … … 42 42 CONTAINS 43 43 44 SUBROUTINE lim_rst_opn ( kt )45 !!---------------------------------------------------------------------- 46 !! *** lim_rst_opn ***44 SUBROUTINE lim_rst_opn_2( kt ) 45 !!---------------------------------------------------------------------- 46 !! *** lim_rst_opn_2 *** 47 47 !! 48 48 !! ** purpose : output of sea-ice variable in a netcdf file … … 82 82 ENDIF 83 83 ! 84 END SUBROUTINE lim_rst_opn 85 86 SUBROUTINE lim_rst_write ( kt )87 !!---------------------------------------------------------------------- 88 !! *** lim_rst_write ***84 END SUBROUTINE lim_rst_opn_2 85 86 SUBROUTINE lim_rst_write_2( kt ) 87 !!---------------------------------------------------------------------- 88 !! *** lim_rst_write_2 *** 89 89 !! 90 90 !! ** purpose : output of sea-ice variable in a netcdf file … … 99 99 IF( iter == nitrst ) THEN 100 100 IF(lwp) WRITE(numout,*) 101 IF(lwp) WRITE(numout,*) 'lim_rst_write : write ice restart file kt =', kt101 IF(lwp) WRITE(numout,*) 'lim_rst_write_2 : write ice restart file kt =', kt 102 102 IF(lwp) WRITE(numout,*) '~~~~~~~' 103 103 ENDIF … … 166 166 ENDIF 167 167 ! 168 END SUBROUTINE lim_rst_write 169 170 171 SUBROUTINE lim_rst_read 172 !!---------------------------------------------------------------------- 173 !! *** lim_rst_read ***168 END SUBROUTINE lim_rst_write_2 169 170 171 SUBROUTINE lim_rst_read_2 172 !!---------------------------------------------------------------------- 173 !! *** lim_rst_read_2 *** 174 174 !! 175 175 !! ** purpose : read of sea-ice variable restart in a netcdf file … … 181 181 IF(lwp) THEN 182 182 WRITE(numout,*) 183 WRITE(numout,*) 'lim_rst_read : read ice NetCDF restart file'183 WRITE(numout,*) 'lim_rst_read_2 : read ice NetCDF restart file' 184 184 WRITE(numout,*) '~~~~~~~~' 185 185 ENDIF … … 257 257 CALL iom_close( numrir ) 258 258 ! 259 END SUBROUTINE lim_rst_read 259 END SUBROUTINE lim_rst_read_2 260 260 261 261 #else 262 262 !!---------------------------------------------------------------------- 263 !! Default option : Empty module NO LIMsea-ice model263 !! Default option : Empty module NO LIM 2.0 sea-ice model 264 264 !!---------------------------------------------------------------------- 265 265 #endif 266 266 267 267 !!====================================================================== 268 END MODULE limrst 268 END MODULE limrst_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limtab.F90
r719 r821 1 MODULE limtab 1 MODULE limtab_2 2 2 !!====================================================================== 3 !! *** MODULE limtab ***3 !! *** MODULE limtab_2 *** 4 4 !! transform 1D (2D) array to a 2D (1D) table 5 5 !!====================================================================== 6 #if defined key_ ice_lim6 #if defined key_lim2 7 7 !!---------------------------------------------------------------------- 8 8 !! tab_2d_1d : 2-D to 1-D … … 16 16 17 17 !! * Routine accessibility 18 PUBLIC tab_2d_1d ! called by lim_ther19 PUBLIC tab_1d_2d ! called by lim_ther18 PUBLIC tab_2d_1d_2 ! called by lim_ther 19 PUBLIC tab_1d_2d_2 ! called by lim_ther 20 20 21 21 !!---------------------------------------------------------------------- … … 26 26 CONTAINS 27 27 28 SUBROUTINE tab_2d_1d ( ndim1d, tab1d, tab2d, ndim2d_x, ndim2d_y, tab_ind )28 SUBROUTINE tab_2d_1d_2 ( ndim1d, tab1d, tab2d, ndim2d_x, ndim2d_y, tab_ind ) 29 29 30 30 INTEGER, INTENT(in) :: & … … 49 49 END DO 50 50 51 END SUBROUTINE tab_2d_1d 51 END SUBROUTINE tab_2d_1d_2 52 52 53 53 54 SUBROUTINE tab_1d_2d ( ndim1d, tab2d, tab_ind, tab1d, ndim2d_x, ndim2d_y )54 SUBROUTINE tab_1d_2d_2 ( ndim1d, tab2d, tab_ind, tab1d, ndim2d_x, ndim2d_y ) 55 55 56 56 INTEGER, INTENT ( in) :: & … … 75 75 END DO 76 76 77 END SUBROUTINE tab_1d_2d 77 END SUBROUTINE tab_1d_2d_2 78 78 79 79 #endif 80 END MODULE limtab 80 END MODULE limtab_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limthd.F90
r719 r821 1 MODULE limthd 1 MODULE limthd_2 2 2 !!====================================================================== 3 !! *** MODULE limthd ***3 !! *** MODULE limthd_2 *** 4 4 !! LIM thermo ice model : ice thermodynamic 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' : LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_thd : thermodynamic of sea ice11 !! lim_thd_init : initialisation of sea-ice thermodynamic6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' : LIM 2.0 sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_thd_2 : thermodynamic of sea ice 11 !! lim_thd_init_2 : initialisation of sea-ice thermodynamic 12 12 !!---------------------------------------------------------------------- 13 13 !! * Modules used … … 16 16 USE lbclnk 17 17 USE in_out_manager ! I/O manager 18 USE ice 18 USE ice_2 ! LIM sea-ice variables 19 19 USE ice_oce ! sea-ice/ocean variables 20 20 USE flx_oce ! sea-ice/ocean forcings variables 21 USE thd_ice 22 USE dom_ice 23 USE iceini 24 USE limthd_zdf 25 USE limthd_lac 26 USE limtab 21 USE thd_ice_2 ! LIM thermodynamic sea-ice variables 22 USE dom_ice_2 ! LIM sea-ice domain 23 USE iceini_2 24 USE limthd_zdf_2 25 USE limthd_lac_2 26 USE limtab_2 27 27 USE prtctl ! Print control 28 28 … … 31 31 32 32 !! * Routine accessibility 33 PUBLIC lim_thd ! called by lim_step33 PUBLIC lim_thd_2 ! called by lim_step_2 34 34 35 35 !! * Module variables … … 52 52 CONTAINS 53 53 54 SUBROUTINE lim_thd ( kt )54 SUBROUTINE lim_thd_2( kt ) 55 55 !!------------------------------------------------------------------- 56 !! *** ROUTINE lim_thd ***56 !! *** ROUTINE lim_thd_2 *** 57 57 !! 58 58 !! ** Purpose : This routine manages the ice thermodynamic. … … 99 99 !!------------------------------------------------------------------- 100 100 101 IF( kt == nit000 ) CALL lim_thd_init ! Initialization (first time-step only)101 IF( kt == nit000 ) CALL lim_thd_init_2 ! Initialization (first time-step only) 102 102 103 103 !-------------------------------------------! … … 248 248 249 249 ! put the variable in a 1-D array for thermodynamics process 250 CALL tab_2d_1d ( nbpb, frld_1d (1:nbpb) , frld , jpi, jpj, npb(1:nbpb) )251 CALL tab_2d_1d ( nbpb, h_ice_1d (1:nbpb) , hicif , jpi, jpj, npb(1:nbpb) )252 CALL tab_2d_1d ( nbpb, h_snow_1d (1:nbpb) , hsnif , jpi, jpj, npb(1:nbpb) )253 CALL tab_2d_1d ( nbpb, sist_1d (1:nbpb) , sist , jpi, jpj, npb(1:nbpb) )254 CALL tab_2d_1d ( nbpb, tbif_1d (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) )255 CALL tab_2d_1d ( nbpb, tbif_1d (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) )256 CALL tab_2d_1d ( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) )257 CALL tab_2d_1d ( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice , jpi, jpj, npb(1:nbpb) )258 CALL tab_2d_1d ( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) )259 CALL tab_2d_1d ( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) )260 CALL tab_2d_1d ( nbpb, qnsr_ice_1d(1:nbpb) , qnsr_ice , jpi, jpj, npb(1:nbpb) )250 CALL tab_2d_1d_2( nbpb, frld_1d (1:nbpb) , frld , jpi, jpj, npb(1:nbpb) ) 251 CALL tab_2d_1d_2( nbpb, h_ice_1d (1:nbpb) , hicif , jpi, jpj, npb(1:nbpb) ) 252 CALL tab_2d_1d_2( nbpb, h_snow_1d (1:nbpb) , hsnif , jpi, jpj, npb(1:nbpb) ) 253 CALL tab_2d_1d_2( nbpb, sist_1d (1:nbpb) , sist , jpi, jpj, npb(1:nbpb) ) 254 CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) ) 255 CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) ) 256 CALL tab_2d_1d_2( nbpb, tbif_1d (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) ) 257 CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb) , qsr_ice , jpi, jpj, npb(1:nbpb) ) 258 CALL tab_2d_1d_2( nbpb, fr1_i0_1d (1:nbpb) , fr1_i0 , jpi, jpj, npb(1:nbpb) ) 259 CALL tab_2d_1d_2( nbpb, fr2_i0_1d (1:nbpb) , fr2_i0 , jpi, jpj, npb(1:nbpb) ) 260 CALL tab_2d_1d_2( nbpb, qnsr_ice_1d(1:nbpb) , qnsr_ice , jpi, jpj, npb(1:nbpb) ) 261 261 #if ! defined key_coupled 262 CALL tab_2d_1d ( nbpb, qla_ice_1d (1:nbpb) , qla_ice , jpi, jpj, npb(1:nbpb) )263 CALL tab_2d_1d ( nbpb, dqla_ice_1d(1:nbpb) , dqla_ice , jpi, jpj, npb(1:nbpb) )262 CALL tab_2d_1d_2( nbpb, qla_ice_1d (1:nbpb) , qla_ice , jpi, jpj, npb(1:nbpb) ) 263 CALL tab_2d_1d_2( nbpb, dqla_ice_1d(1:nbpb) , dqla_ice , jpi, jpj, npb(1:nbpb) ) 264 264 #endif 265 CALL tab_2d_1d ( nbpb, dqns_ice_1d(1:nbpb) , dqns_ice , jpi, jpj, npb(1:nbpb) )266 CALL tab_2d_1d ( nbpb, tfu_1d (1:nbpb) , tfu , jpi, jpj, npb(1:nbpb) )267 CALL tab_2d_1d ( nbpb, sprecip_1d (1:nbpb) , sprecip , jpi, jpj, npb(1:nbpb) )268 CALL tab_2d_1d ( nbpb, fbif_1d (1:nbpb) , fbif , jpi, jpj, npb(1:nbpb) )269 CALL tab_2d_1d ( nbpb, thcm_1d (1:nbpb) , thcm , jpi, jpj, npb(1:nbpb) )270 CALL tab_2d_1d ( nbpb, qldif_1d (1:nbpb) , qldif , jpi, jpj, npb(1:nbpb) )271 CALL tab_2d_1d ( nbpb, qstbif_1d (1:nbpb) , qstoif , jpi, jpj, npb(1:nbpb) )272 CALL tab_2d_1d ( nbpb, rdmicif_1d (1:nbpb) , rdmicif , jpi, jpj, npb(1:nbpb) )273 CALL tab_2d_1d ( nbpb, dmgwi_1d (1:nbpb) , dmgwi , jpi, jpj, npb(1:nbpb) )274 CALL tab_2d_1d ( nbpb, qlbbq_1d (1:nbpb) , zqlbsbq , jpi, jpj, npb(1:nbpb) )265 CALL tab_2d_1d_2( nbpb, dqns_ice_1d(1:nbpb) , dqns_ice , jpi, jpj, npb(1:nbpb) ) 266 CALL tab_2d_1d_2( nbpb, tfu_1d (1:nbpb) , tfu , jpi, jpj, npb(1:nbpb) ) 267 CALL tab_2d_1d_2( nbpb, sprecip_1d (1:nbpb) , sprecip , jpi, jpj, npb(1:nbpb) ) 268 CALL tab_2d_1d_2( nbpb, fbif_1d (1:nbpb) , fbif , jpi, jpj, npb(1:nbpb) ) 269 CALL tab_2d_1d_2( nbpb, thcm_1d (1:nbpb) , thcm , jpi, jpj, npb(1:nbpb) ) 270 CALL tab_2d_1d_2( nbpb, qldif_1d (1:nbpb) , qldif , jpi, jpj, npb(1:nbpb) ) 271 CALL tab_2d_1d_2( nbpb, qstbif_1d (1:nbpb) , qstoif , jpi, jpj, npb(1:nbpb) ) 272 CALL tab_2d_1d_2( nbpb, rdmicif_1d (1:nbpb) , rdmicif , jpi, jpj, npb(1:nbpb) ) 273 CALL tab_2d_1d_2( nbpb, dmgwi_1d (1:nbpb) , dmgwi , jpi, jpj, npb(1:nbpb) ) 274 CALL tab_2d_1d_2( nbpb, qlbbq_1d (1:nbpb) , zqlbsbq , jpi, jpj, npb(1:nbpb) ) 275 275 276 CALL lim_thd_zdf ( 1, nbpb ) ! compute ice growth276 CALL lim_thd_zdf_2( 1, nbpb ) ! compute ice growth 277 277 278 278 ! back to the geographic grid. 279 CALL tab_1d_2d ( nbpb, frld , npb, frld_1d (1:nbpb) , jpi, jpj )280 CALL tab_1d_2d ( nbpb, hicif , npb, h_ice_1d (1:nbpb) , jpi, jpj )281 CALL tab_1d_2d ( nbpb, hsnif , npb, h_snow_1d (1:nbpb) , jpi, jpj )282 CALL tab_1d_2d ( nbpb, sist , npb, sist_1d (1:nbpb) , jpi, jpj )283 CALL tab_1d_2d ( nbpb, tbif(:,:,1), npb, tbif_1d (1:nbpb , 1 ), jpi, jpj )284 CALL tab_1d_2d ( nbpb, tbif(:,:,2), npb, tbif_1d (1:nbpb , 2 ), jpi, jpj )285 CALL tab_1d_2d ( nbpb, tbif(:,:,3), npb, tbif_1d (1:nbpb , 3 ), jpi, jpj )286 CALL tab_1d_2d ( nbpb, fscmbq , npb, fscbq_1d (1:nbpb) , jpi, jpj )287 CALL tab_1d_2d ( nbpb, ffltbif , npb, fltbif_1d (1:nbpb) , jpi, jpj )288 CALL tab_1d_2d ( nbpb, fstric , npb, fstbif_1d (1:nbpb) , jpi, jpj )289 CALL tab_1d_2d ( nbpb, qldif , npb, qldif_1d (1:nbpb) , jpi, jpj )290 CALL tab_1d_2d ( nbpb, qfvbq , npb, qfvbq_1d (1:nbpb) , jpi, jpj )291 CALL tab_1d_2d ( nbpb, qstoif , npb, qstbif_1d (1:nbpb) , jpi, jpj )292 CALL tab_1d_2d ( nbpb, rdmicif , npb, rdmicif_1d(1:nbpb) , jpi, jpj )293 CALL tab_1d_2d ( nbpb, dmgwi , npb, dmgwi_1d (1:nbpb) , jpi, jpj )294 CALL tab_1d_2d ( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj )295 CALL tab_1d_2d ( nbpb, rdvosif , npb, dvsbq_1d (1:nbpb) , jpi, jpj )296 CALL tab_1d_2d ( nbpb, rdvobif , npb, dvbbq_1d (1:nbpb) , jpi, jpj )297 CALL tab_1d_2d ( nbpb, fdvolif , npb, dvlbq_1d (1:nbpb) , jpi, jpj )298 CALL tab_1d_2d ( nbpb, rdvonif , npb, dvnbq_1d (1:nbpb) , jpi, jpj )279 CALL tab_1d_2d_2( nbpb, frld , npb, frld_1d (1:nbpb) , jpi, jpj ) 280 CALL tab_1d_2d_2( nbpb, hicif , npb, h_ice_1d (1:nbpb) , jpi, jpj ) 281 CALL tab_1d_2d_2( nbpb, hsnif , npb, h_snow_1d (1:nbpb) , jpi, jpj ) 282 CALL tab_1d_2d_2( nbpb, sist , npb, sist_1d (1:nbpb) , jpi, jpj ) 283 CALL tab_1d_2d_2( nbpb, tbif(:,:,1), npb, tbif_1d (1:nbpb , 1 ), jpi, jpj ) 284 CALL tab_1d_2d_2( nbpb, tbif(:,:,2), npb, tbif_1d (1:nbpb , 2 ), jpi, jpj ) 285 CALL tab_1d_2d_2( nbpb, tbif(:,:,3), npb, tbif_1d (1:nbpb , 3 ), jpi, jpj ) 286 CALL tab_1d_2d_2( nbpb, fscmbq , npb, fscbq_1d (1:nbpb) , jpi, jpj ) 287 CALL tab_1d_2d_2( nbpb, ffltbif , npb, fltbif_1d (1:nbpb) , jpi, jpj ) 288 CALL tab_1d_2d_2( nbpb, fstric , npb, fstbif_1d (1:nbpb) , jpi, jpj ) 289 CALL tab_1d_2d_2( nbpb, qldif , npb, qldif_1d (1:nbpb) , jpi, jpj ) 290 CALL tab_1d_2d_2( nbpb, qfvbq , npb, qfvbq_1d (1:nbpb) , jpi, jpj ) 291 CALL tab_1d_2d_2( nbpb, qstoif , npb, qstbif_1d (1:nbpb) , jpi, jpj ) 292 CALL tab_1d_2d_2( nbpb, rdmicif , npb, rdmicif_1d(1:nbpb) , jpi, jpj ) 293 CALL tab_1d_2d_2( nbpb, dmgwi , npb, dmgwi_1d (1:nbpb) , jpi, jpj ) 294 CALL tab_1d_2d_2( nbpb, rdmsnif , npb, rdmsnif_1d(1:nbpb) , jpi, jpj ) 295 CALL tab_1d_2d_2( nbpb, rdvosif , npb, dvsbq_1d (1:nbpb) , jpi, jpj ) 296 CALL tab_1d_2d_2( nbpb, rdvobif , npb, dvbbq_1d (1:nbpb) , jpi, jpj ) 297 CALL tab_1d_2d_2( nbpb, fdvolif , npb, dvlbq_1d (1:nbpb) , jpi, jpj ) 298 CALL tab_1d_2d_2( nbpb, rdvonif , npb, dvnbq_1d (1:nbpb) , jpi, jpj ) 299 299 300 300 … … 351 351 352 352 !...Put the variable in a 1-D array for lateral accretion 353 CALL tab_2d_1d ( nbpac, frld_1d (1:nbpac) , frld , jpi, jpj, npac(1:nbpac) )354 CALL tab_2d_1d ( nbpac, h_snow_1d (1:nbpac) , hsnif , jpi, jpj, npac(1:nbpac) )355 CALL tab_2d_1d ( nbpac, h_ice_1d (1:nbpac) , hicif , jpi, jpj, npac(1:nbpac) )356 CALL tab_2d_1d ( nbpac, tbif_1d (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) )357 CALL tab_2d_1d ( nbpac, tbif_1d (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) )358 CALL tab_2d_1d ( nbpac, tbif_1d (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) )359 CALL tab_2d_1d ( nbpac, qldif_1d (1:nbpac) , qldif , jpi, jpj, npac(1:nbpac) )360 CALL tab_2d_1d ( nbpac, qcmif_1d (1:nbpac) , qcmif , jpi, jpj, npac(1:nbpac) )361 CALL tab_2d_1d ( nbpac, qstbif_1d (1:nbpac) , qstoif , jpi, jpj, npac(1:nbpac) )362 CALL tab_2d_1d ( nbpac, rdmicif_1d(1:nbpac) , rdmicif , jpi, jpj, npac(1:nbpac) )363 CALL tab_2d_1d ( nbpac, dvlbq_1d (1:nbpac) , fdvolif , jpi, jpj, npac(1:nbpac) )364 CALL tab_2d_1d ( nbpac, tfu_1d (1:nbpac) , tfu , jpi, jpj, npac(1:nbpac) )353 CALL tab_2d_1d_2( nbpac, frld_1d (1:nbpac) , frld , jpi, jpj, npac(1:nbpac) ) 354 CALL tab_2d_1d_2( nbpac, h_snow_1d (1:nbpac) , hsnif , jpi, jpj, npac(1:nbpac) ) 355 CALL tab_2d_1d_2( nbpac, h_ice_1d (1:nbpac) , hicif , jpi, jpj, npac(1:nbpac) ) 356 CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) ) 357 CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) ) 358 CALL tab_2d_1d_2( nbpac, tbif_1d (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) ) 359 CALL tab_2d_1d_2( nbpac, qldif_1d (1:nbpac) , qldif , jpi, jpj, npac(1:nbpac) ) 360 CALL tab_2d_1d_2( nbpac, qcmif_1d (1:nbpac) , qcmif , jpi, jpj, npac(1:nbpac) ) 361 CALL tab_2d_1d_2( nbpac, qstbif_1d (1:nbpac) , qstoif , jpi, jpj, npac(1:nbpac) ) 362 CALL tab_2d_1d_2( nbpac, rdmicif_1d(1:nbpac) , rdmicif , jpi, jpj, npac(1:nbpac) ) 363 CALL tab_2d_1d_2( nbpac, dvlbq_1d (1:nbpac) , fdvolif , jpi, jpj, npac(1:nbpac) ) 364 CALL tab_2d_1d_2( nbpac, tfu_1d (1:nbpac) , tfu , jpi, jpj, npac(1:nbpac) ) 365 365 366 366 ! call lateral accretion routine. 367 CALL lim_thd_lac ( 1 , nbpac )367 CALL lim_thd_lac_2( 1 , nbpac ) 368 368 369 369 ! back to the geographic grid 370 CALL tab_1d_2d ( nbpac, frld , npac(1:nbpac), frld_1d (1:nbpac) , jpi, jpj )371 CALL tab_1d_2d ( nbpac, hsnif , npac(1:nbpac), h_snow_1d (1:nbpac) , jpi, jpj )372 CALL tab_1d_2d ( nbpac, hicif , npac(1:nbpac), h_ice_1d (1:nbpac) , jpi, jpj )373 CALL tab_1d_2d ( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d (1:nbpac , 1 ), jpi, jpj )374 CALL tab_1d_2d ( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d (1:nbpac , 2 ), jpi, jpj )375 CALL tab_1d_2d ( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d (1:nbpac , 3 ), jpi, jpj )376 CALL tab_1d_2d ( nbpac, qstoif , npac(1:nbpac), qstbif_1d (1:nbpac) , jpi, jpj )377 CALL tab_1d_2d ( nbpac, rdmicif , npac(1:nbpac), rdmicif_1d(1:nbpac) , jpi, jpj )378 CALL tab_1d_2d ( nbpac, fdvolif , npac(1:nbpac), dvlbq_1d (1:nbpac) , jpi, jpj )370 CALL tab_1d_2d_2( nbpac, frld , npac(1:nbpac), frld_1d (1:nbpac) , jpi, jpj ) 371 CALL tab_1d_2d_2( nbpac, hsnif , npac(1:nbpac), h_snow_1d (1:nbpac) , jpi, jpj ) 372 CALL tab_1d_2d_2( nbpac, hicif , npac(1:nbpac), h_ice_1d (1:nbpac) , jpi, jpj ) 373 CALL tab_1d_2d_2( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d (1:nbpac , 1 ), jpi, jpj ) 374 CALL tab_1d_2d_2( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d (1:nbpac , 2 ), jpi, jpj ) 375 CALL tab_1d_2d_2( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d (1:nbpac , 3 ), jpi, jpj ) 376 CALL tab_1d_2d_2( nbpac, qstoif , npac(1:nbpac), qstbif_1d (1:nbpac) , jpi, jpj ) 377 CALL tab_1d_2d_2( nbpac, rdmicif , npac(1:nbpac), rdmicif_1d(1:nbpac) , jpi, jpj ) 378 CALL tab_1d_2d_2( nbpac, fdvolif , npac(1:nbpac), dvlbq_1d (1:nbpac) , jpi, jpj ) 379 379 380 380 ENDIF … … 405 405 ENDIF 406 406 407 END SUBROUTINE lim_thd 408 409 410 SUBROUTINE lim_thd_init 407 END SUBROUTINE lim_thd_2 408 409 410 SUBROUTINE lim_thd_init_2 411 411 !!------------------------------------------------------------------- 412 !! *** ROUTINE lim_thd_init ***412 !! *** ROUTINE lim_thd_init_2 *** 413 413 !! 414 414 !! ** Purpose : Physical constants and parameters linked to the ice … … 435 435 IF(lwp) THEN 436 436 WRITE(numout,*) 437 WRITE(numout,*)'lim_thd_init 438 WRITE(numout,*)'~~~~~~~~~~~~ '437 WRITE(numout,*)'lim_thd_init_2: ice parameters for ice thermodynamic computation ' 438 WRITE(numout,*)'~~~~~~~~~~~~~~' 439 439 WRITE(numout,*)' maximum melting at the bottom hmelt = ', hmelt 440 440 WRITE(numout,*)' ice thick. for lateral accretion in NH (SH) hiccrit(1/2) = ', hiccrit … … 466 466 ENDIF 467 467 468 END SUBROUTINE lim_thd_init 468 END SUBROUTINE lim_thd_init_2 469 469 470 470 #else 471 471 !!---------------------------------------------------------------------- 472 !! Default option Dummy module NO LIMsea-ice model472 !! Default option Dummy module NO LIM 2.0 sea-ice model 473 473 !!---------------------------------------------------------------------- 474 474 CONTAINS 475 SUBROUTINE lim_thd ! Dummy routine476 END SUBROUTINE lim_thd 475 SUBROUTINE lim_thd_2 ! Dummy routine 476 END SUBROUTINE lim_thd_2 477 477 #endif 478 478 479 479 !!====================================================================== 480 END MODULE limthd 480 END MODULE limthd_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limthd_lac.F90
r719 r821 1 MODULE limthd_lac 2 #if defined key_ ice_lim3 !!====================================================================== 4 !! *** MODULE limthd_lac ***1 MODULE limthd_lac_2 2 #if defined key_lim2 3 !!====================================================================== 4 !! *** MODULE limthd_lac_2 *** 5 5 !! lateral thermodynamic growth of the ice 6 6 !!====================================================================== 7 7 8 8 !!---------------------------------------------------------------------- 9 !! lim_lat_acr : lateral accretion of ice9 !! lim_lat_acr_2 : lateral accretion of ice 10 10 !! * Modules used 11 11 USE par_oce ! ocean parameters 12 12 USE phycst 13 USE ice_oce ! ice variables14 USE thd_ice 15 USE iceini 16 USE limistate 13 USE ice_oce ! ice variables 14 USE thd_ice_2 15 USE iceini_2 16 USE limistate_2 17 17 18 18 IMPLICIT NONE … … 20 20 21 21 !! * Routine accessibility 22 PUBLIC lim_thd_lac ! called by lim_thd22 PUBLIC lim_thd_lac_2 ! called by lim_thd_2 23 23 24 24 !! * Module variables … … 35 35 CONTAINS 36 36 37 SUBROUTINE lim_thd_lac ( kideb, kiut )37 SUBROUTINE lim_thd_lac_2( kideb, kiut ) 38 38 !!------------------------------------------------------------------- 39 !! *** ROUTINE lim_thd_lac ***39 !! *** ROUTINE lim_thd_lac_2 *** 40 40 !! 41 41 !! ** Purpose : Computation of the evolution of the ice thickness and … … 220 220 END DO 221 221 222 END SUBROUTINE lim_thd_lac 222 END SUBROUTINE lim_thd_lac_2 223 223 #else 224 224 !!====================================================================== 225 !! *** MODULE limthd_lac ***225 !! *** MODULE limthd_lac_2 *** 226 226 !! no sea ice model 227 227 !!====================================================================== 228 228 CONTAINS 229 SUBROUTINE lim_thd_lac ! Empty routine230 END SUBROUTINE lim_thd_lac 229 SUBROUTINE lim_thd_lac_2 ! Empty routine 230 END SUBROUTINE lim_thd_lac_2 231 231 #endif 232 END MODULE limthd_lac 232 END MODULE limthd_lac_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limthd_zdf.F90
r719 r821 1 MODULE limthd_zdf 1 MODULE limthd_zdf_2 2 2 !!====================================================================== 3 !! *** MODULE limthd_zdf ***3 !! *** MODULE limthd_zdf_2 *** 4 4 !! thermodynamic growth and decay of the ice 5 5 !!====================================================================== 6 #if defined key_ ice_lim6 #if defined key_lim2 7 7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' LIMsea-ice model8 !! 'key_lim2' LIM 2.0 sea-ice model 9 9 !!---------------------------------------------------------------------- 10 !! lim_thd_zdf 10 !! lim_thd_zdf_2 : vertical accr./abl. and lateral ablation of sea ice 11 11 !!---------------------------------------------------------------------- 12 12 !! * Modules used … … 14 14 USE phycst ! ??? 15 15 USE ice_oce ! ice variables 16 USE thd_ice 17 USE iceini 18 USE limistate 16 USE thd_ice_2 17 USE iceini_2 18 USE limistate_2 19 19 USE in_out_manager 20 20 … … 23 23 24 24 !! * Routine accessibility 25 PUBLIC lim_thd_zdf ! called by lim_thd25 PUBLIC lim_thd_zdf_2 ! called by lim_thd_2 26 26 27 27 !! * Module variables … … 38 38 CONTAINS 39 39 40 SUBROUTINE lim_thd_zdf ( kideb , kiut )40 SUBROUTINE lim_thd_zdf_2( kideb , kiut ) 41 41 !!------------------------------------------------------------------ 42 !! *** ROUTINE lim_thd_zdf ***42 !! *** ROUTINE lim_thd_zdf_2 *** 43 43 !! 44 44 !! ** Purpose : This routine determines the time evolution of snow … … 802 802 END DO 803 803 804 END SUBROUTINE lim_thd_zdf 804 END SUBROUTINE lim_thd_zdf_2 805 805 #else 806 806 !!====================================================================== 807 !! *** MODULE limthd_zdf ***807 !! *** MODULE limthd_zdf_2 *** 808 808 !! no sea ice model 809 809 !!====================================================================== 810 810 CONTAINS 811 SUBROUTINE lim_thd_zdf ! Empty routine812 END SUBROUTINE lim_thd_zdf 811 SUBROUTINE lim_thd_zdf_2 ! Empty routine 812 END SUBROUTINE lim_thd_zdf_2 813 813 #endif 814 END MODULE limthd_zdf 814 END MODULE limthd_zdf_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limtrp.F90
r719 r821 1 MODULE limtrp 1 MODULE limtrp_2 2 2 !!====================================================================== 3 !! *** MODULE limtrp ***4 !! LIM transport ice model : sea-ice advection/diffusion3 !! *** MODULE limtrp_2 *** 4 !! LIM 2.0 transport ice model : sea-ice advection/diffusion 5 5 !!====================================================================== 6 #if defined key_ ice_lim7 !!---------------------------------------------------------------------- 8 !! 'key_ ice_lim' : LIMsea-ice model9 !!---------------------------------------------------------------------- 10 !! lim_trp : advection/diffusion process of sea ice11 !! lim_trp_init : initialization and namelist read6 #if defined key_lim2 7 !!---------------------------------------------------------------------- 8 !! 'key_lim2' : LIM 2.0 sea-ice model 9 !!---------------------------------------------------------------------- 10 !! lim_trp_2 : advection/diffusion process of sea ice 11 !! lim_trp_init_2 : initialization and namelist read 12 12 !!---------------------------------------------------------------------- 13 13 !! * Modules used … … 17 17 USE in_out_manager ! I/O manager 18 18 USE ice_oce ! ice variables 19 USE dom_ice 20 USE ice 21 USE iceini 22 USE limistate 23 USE limadv 24 USE limhdf 19 USE dom_ice_2 20 USE ice_2 21 USE iceini_2 22 USE limistate_2 23 USE limadv_2 24 USE limhdf_2 25 25 USE lbclnk 26 26 USE lib_mpp … … 30 30 31 31 !! * Routine accessibility 32 PUBLIC lim_trp ! called by ice_step32 PUBLIC lim_trp_2 ! called by ice_step_2 33 33 34 34 !! * Shared module variables … … 54 54 CONTAINS 55 55 56 SUBROUTINE lim_trp ( kt )56 SUBROUTINE lim_trp_2( kt ) 57 57 !!------------------------------------------------------------------- 58 !! *** ROUTINE lim_trp ***58 !! *** ROUTINE lim_trp_2 *** 59 59 !! 60 60 !! ** purpose : advection/diffusion process of sea ice … … 97 97 !--------------------------------------------------------------------- 98 98 99 IF( kt == nit000 ) CALL lim_trp_init ! Initialization (first time-step only)99 IF( kt == nit000 ) CALL lim_trp_init_2 ! Initialization (first time-step only) 100 100 101 101 zsm(:,:) = area(:,:) … … 149 149 IF ( MOD( nday , 2 ) == 0) THEN 150 150 DO jk = 1,initad 151 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice )152 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice )153 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn )154 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn )155 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0a , sxa , sxxa , sya , syya , sxya )156 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0a , sxa , sxxa , sya , syya , sxya )157 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 )158 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 )159 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 )160 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 )161 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 )162 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 )163 CALL lim_adv_x ( zusnit, zui_u, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst )164 CALL lim_adv_y ( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst )151 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 152 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 153 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn ) 154 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn ) 155 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0a , sxa , sxxa , sya , syya , sxya ) 156 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0a , sxa , sxxa , sya , syya , sxya ) 157 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 ) 158 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 ) 159 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 ) 160 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 ) 161 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 ) 162 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 ) 163 CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst ) 164 CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst ) 165 165 END DO 166 166 ELSE 167 167 DO jk = 1, initad 168 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice )169 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice )170 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn )171 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn )172 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0a , sxa , sxxa , sya , syya , sxya )173 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0a , sxa , sxxa , sya , syya , sxya )174 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 )175 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 )176 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 )177 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 )178 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 )179 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 )180 CALL lim_adv_y ( zusnit, zvi_v, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst )181 CALL lim_adv_x ( zusnit, zui_u, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst )168 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 169 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 170 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn ) 171 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn ) 172 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0a , sxa , sxxa , sya , syya , sxya ) 173 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0a , sxa , sxxa , sya , syya , sxya ) 174 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 ) 175 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0 ) 176 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 ) 177 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1 ) 178 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 ) 179 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2 ) 180 CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst ) 181 CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst ) 182 182 END DO 183 183 ENDIF … … 211 211 ! diffusion 212 212 ! --------- 213 CALL lim_hdf ( zs0ice )214 CALL lim_hdf ( zs0sn )215 CALL lim_hdf ( zs0a )216 CALL lim_hdf ( zs0c0 )217 CALL lim_hdf ( zs0c1 )218 CALL lim_hdf ( zs0c2 )219 CALL lim_hdf ( zs0st )213 CALL lim_hdf_2( zs0ice ) 214 CALL lim_hdf_2( zs0sn ) 215 CALL lim_hdf_2( zs0a ) 216 CALL lim_hdf_2( zs0c0 ) 217 CALL lim_hdf_2( zs0c1 ) 218 CALL lim_hdf_2( zs0c2 ) 219 CALL lim_hdf_2( zs0st ) 220 220 221 221 zs0ice(:,:) = MAX( rzero, zs0ice(:,:) * area(:,:) ) !!bug: est-ce utile … … 278 278 ENDIF 279 279 280 END SUBROUTINE lim_trp 281 282 283 SUBROUTINE lim_trp_init 280 END SUBROUTINE lim_trp_2 281 282 283 SUBROUTINE lim_trp_init_2 284 284 !!------------------------------------------------------------------- 285 !! *** ROUTINE lim_trp_init ***285 !! *** ROUTINE lim_trp_init_2 *** 286 286 !! 287 287 !! ** Purpose : initialization of ice advection parameters … … 303 303 IF(lwp) THEN 304 304 WRITE(numout,*) 305 WRITE(numout,*) 'lim_trp_init : Ice parameters for advection '306 WRITE(numout,*) '~~~~~~~~~~~~ '305 WRITE(numout,*) 'lim_trp_init_2 : Ice parameters for advection ' 306 WRITE(numout,*) '~~~~~~~~~~~~~~' 307 307 WRITE(numout,*) ' boundary conditions (0. no-slip, 1. free-slip) bound = ', bound 308 308 ENDIF 309 309 310 END SUBROUTINE lim_trp_init 310 END SUBROUTINE lim_trp_init_2 311 311 312 312 #else … … 315 315 !!---------------------------------------------------------------------- 316 316 CONTAINS 317 SUBROUTINE lim_trp ! Empty routine318 END SUBROUTINE lim_trp 317 SUBROUTINE lim_trp_2 ! Empty routine 318 END SUBROUTINE lim_trp_2 319 319 #endif 320 320 321 321 !!====================================================================== 322 END MODULE limtrp 322 END MODULE limtrp_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limwri.F90
r719 r821 1 MODULE limwri 1 MODULE limwri_2 2 2 !!====================================================================== 3 !! *** MODULE limwri ***3 !! *** MODULE limwri_2 *** 4 4 !! Ice diagnostics : write ice output files 5 5 !!====================================================================== … … 7 7 !! 2.0 ! 04-10 (C. Ethe ) 1D configuration 8 8 !!------------------------------------------------------------------- 9 #if defined key_ ice_lim10 !!---------------------------------------------------------------------- 11 !! 'key_ ice_lim' LIMsea-ice model12 !!---------------------------------------------------------------------- 13 !!---------------------------------------------------------------------- 14 !! lim_wri : write of the diagnostics variables in ouput file15 !! lim_wri_init : initialization and namelist read9 #if defined key_lim2 10 !!---------------------------------------------------------------------- 11 !! 'key_lim2' i LIM 2.0 sea-ice model 12 !!---------------------------------------------------------------------- 13 !!---------------------------------------------------------------------- 14 !! lim_wri_2 : write of the diagnostics variables in ouput file 15 !! lim_wri_init_2 : initialization and namelist read 16 16 !!---------------------------------------------------------------------- 17 17 USE ioipsl … … 23 23 USE ice_oce ! ice variables 24 24 USE flx_oce 25 USE dom_ice 26 USE ice 25 USE dom_ice_2 26 USE ice_2 27 27 USE lbclnk 28 28 … … 30 30 PRIVATE 31 31 32 PUBLIC lim_wri ! routine called by lim_step.F9032 PUBLIC lim_wri_2 ! routine called by lim_step_2.F90 33 33 34 34 INTEGER, PARAMETER :: jpnoumax = 40 ! maximum number of variable for ice output … … 61 61 !! 'key_dimgout' Direct Access file 62 62 !!---------------------------------------------------------------------- 63 # include "limwri_dimg .h90"63 # include "limwri_dimg_2.h90" 64 64 #else 65 65 !!---------------------------------------------------------------------- … … 67 67 !!---------------------------------------------------------------------- 68 68 69 SUBROUTINE lim_wri ( kt )70 !!------------------------------------------------------------------- 71 !! *** ROUTINE lim_wri ***69 SUBROUTINE lim_wri_2( kt ) 70 !!------------------------------------------------------------------- 71 !! *** ROUTINE lim_wri_2 *** 72 72 !! 73 73 !! ** Purpose : write the sea-ice output file in NetCDF … … 92 92 IF ( kt == nit000 ) THEN ! Initialisation ! 93 93 ! !--------------------! 94 CALL lim_wri_init 94 CALL lim_wri_init_2 95 95 96 96 zsto = rdt_ice … … 123 123 IF(lwp) THEN 124 124 WRITE(numout,*) 125 WRITE(numout,*) 'lim_wri : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, kt + nfice - 1126 WRITE(numout,*) '~~~~~~~ '125 WRITE(numout,*) 'lim_wri_2 : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, kt + nfice - 1 126 WRITE(numout,*) '~~~~~~~~~ ' 127 127 ENDIF 128 128 … … 189 189 ENDIF 190 190 ! 191 END SUBROUTINE lim_wri 191 END SUBROUTINE lim_wri_2 192 192 193 193 #endif 194 194 195 SUBROUTINE lim_wri_init 196 !!------------------------------------------------------------------- 197 !! *** ROUTINE lim_wri_init ***195 SUBROUTINE lim_wri_init_2 196 !!------------------------------------------------------------------- 197 !! *** ROUTINE lim_wri_init_2 *** 198 198 !! 199 199 !! ** Purpose : intialisation of LIM sea-ice output … … 267 267 IF(lwp) THEN 268 268 WRITE(numout,*) 269 WRITE(numout,*) 'lim_wri_init : Ice parameters for outputs'270 WRITE(numout,*) '~~~~~~~~~~~~ '269 WRITE(numout,*) 'lim_wri_init_2 : Ice parameters for outputs' 270 WRITE(numout,*) '~~~~~~~~~~~~~~' 271 271 WRITE(numout,*) ' number of fields to be stored noumef = ', noumef 272 272 WRITE(numout,*) ' title name unit Saving (1/0) ', & … … 278 278 ENDIF 279 279 ! 280 END SUBROUTINE lim_wri_init 280 END SUBROUTINE lim_wri_init_2 281 281 282 282 #else 283 283 !!---------------------------------------------------------------------- 284 !! Default option : Empty module NO LIMsea-ice model284 !! Default option : Empty module NO LIM 2.0 sea-ice model 285 285 !!---------------------------------------------------------------------- 286 286 CONTAINS 287 SUBROUTINE lim_wri ! Empty routine288 END SUBROUTINE lim_wri 287 SUBROUTINE lim_wri_2 ! Empty routine 288 END SUBROUTINE lim_wri_2 289 289 #endif 290 290 291 291 !!====================================================================== 292 END MODULE limwri 292 END MODULE limwri_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/limwri_dimg.h90
r719 r821 1 SUBROUTINE lim_wri (kt)1 SUBROUTINE lim_wri_2(kt) 2 2 !!---------------------------------------------------------------------- 3 3 !! LIM 2.0, UCL-LOCEAN-IPSL (2005) … … 52 52 IF ( kt == nit000 ) THEN 53 53 54 CALL lim_wri_init 54 CALL lim_wri_init_2 55 55 56 56 nwf = 0 … … 58 58 59 59 IF (lwp ) THEN 60 WRITE(numout,*) 'lim_wri : Write ice outputs in dimg'60 WRITE(numout,*) 'lim_wri_2 : Write ice outputs in dimg' 61 61 WRITE(numout,*) '~~~~~~~~' 62 62 WRITE(numout,*) ' According to namelist_ice, following fields saved:' … … 203 203 END IF ! MOD(kt+nfice-1-nit000+1, nwrite == 0 ) ! 204 204 205 END SUBROUTINE lim_wri 205 END SUBROUTINE lim_wri_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/par_ice.F90
r719 r821 1 MODULE par_ice 1 MODULE par_ice_2 2 #if defined key_lim2 2 3 !!====================================================================== 3 !! *** MODULE par_ice ***4 !! *** MODULE par_ice_2 *** 4 5 !! Sea-Ice model : definition of the parameters 5 6 !!====================================================================== … … 24 25 25 26 !!====================================================================== 26 END MODULE par_ice 27 #endif 28 END MODULE par_ice_2 -
branches/dev_002_LIM/NEMO/LIM_SRC/thd_ice.F90
r719 r821 1 MODULE thd_ice 1 MODULE thd_ice_2 2 #if defined key_lim2 2 3 !!====================================================================== 3 !! *** MODULE thd_ice ***4 !! LIM sea-ice : Ice thermodynamics in 1D4 !! *** MODULE thd_ice_2 *** 5 !! LIM 2.0 sea-ice : Ice thermodynamics in 1D 5 6 !!===================================================================== 6 7 !! History : … … 12 13 !!---------------------------------------------------------------------- 13 14 !! * Modules used 14 USE par_ice 15 USE par_ice_2 15 16 16 17 IMPLICIT NONE … … 82 83 83 84 !!====================================================================== 84 END MODULE thd_ice 85 #endif 86 END MODULE thd_ice_2
Note: See TracChangeset
for help on using the changeset viewer.