Changeset 2477
- Timestamp:
- 2010-12-17T14:42:51+01:00 (14 years ago)
- Location:
- trunk/NEMO/LIM_SRC_3
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_3/iceini.F90
r1581 r2477 18 18 USE limmsh 19 19 USE limistate 20 USE limthd ! LIM: ice thermodynamics 21 USE limthd_sal ! LIM: ice thermodynamics: salinity 20 22 USE limrst 21 23 USE par_ice … … 26 28 PRIVATE 27 29 28 !! * Routine accessibility29 30 PUBLIC ice_init ! called by opa.F90 30 PUBLIC lim_itd_ini31 32 !! * Share Module variables33 INTEGER , PUBLIC :: & !:34 nstart , & !: iteration number of the begining of the run35 nlast , & !: iteration number of the end of the run36 nitrun , & !: number of iteration37 numit !: iteration number38 REAL(wp), PUBLIC :: & !:39 tpstot !: time of the run in seconds40 31 !!---------------------------------------------------------------------- 41 32 !! LIM 3.0, UCL-ASTR-LOCEAN-IPSL (2008) … … 61 52 62 53 CALL ice_run ! read in namelist some run parameters 63 64 ! Louvain la Neuve Ice model 65 IF( nacc == 1 ) THEN 66 rdt_ice = nn_fsbc * rdtmin 67 ELSE 68 rdt_ice = nn_fsbc * rdt 69 ENDIF 70 71 CALL lim_msh ! ice mesh initialization 72 73 CALL lim_itd_ini ! initialize the ice thickness 74 ! distribution 75 ! Initial sea-ice state 76 IF( .NOT.ln_rstart ) THEN 54 ! 55 CALL lim_thd_init ! namelist read ice thermodynics parameters 56 ! 57 CALL lim_thd_sal_init ! namelist read ice salinity parameters 58 ! 59 rdt_ice = nn_fsbc * rdttra(1) ! sea-ice timestep 60 ! 61 CALL lim_msh ! ice mesh initialization 62 ! 63 CALL lim_itd_ini ! initialize the ice thickness distribution 64 65 ! ! Initial sea-ice state 66 IF( .NOT.ln_rstart ) THEN ! start from rest 77 67 numit = 0 78 68 numit = nit000 - 1 79 CALL lim_istate ! start from rest: sea-ice deduced from sst 80 CALL lim_var_agg(1) ! aggregate category variables in 81 ! bulk variables 82 CALL lim_var_glo2eqv ! convert global variables in equivalent 83 ! variables 84 ELSE 85 CALL lim_rst_read ! start from a restart file 86 69 CALL lim_istate ! start from rest: sea-ice deduced from sst 70 CALL lim_var_agg(1) ! aggregate category variables in bulk variables 71 CALL lim_var_glo2eqv ! convert global variables in equivalent variables 72 ELSE ! start from a restart file 73 CALL lim_rst_read ! read the restart file 87 74 numit = nit000 - 1 88 CALL lim_var_agg(1) ! aggregate ice variables89 CALL lim_var_glo2eqv ! convert global var in equivalent variables90 ENDIF 91 75 CALL lim_var_agg(1) ! aggregate ice variables 76 CALL lim_var_glo2eqv ! convert global var in equivalent variables 77 ENDIF 78 ! 92 79 fr_i(:,:) = at_i(:,:) ! initialisation of sea-ice fraction 93 94 nstart = numit + nn_fsbc 95 nitrun = nitend - nit000 + 1 96 nlast = numit + nitrun 97 98 IF( nstock == 0 ) nstock = nlast + 180 ! 81 nstart = numit + nn_fsbc 82 nitrun = nitend - nit000 + 1 83 nlast = numit + nitrun 84 ! 85 IF( nstock == 0 ) nstock = nlast + 1 99 86 100 87 END SUBROUTINE ice_init -
trunk/NEMO/LIM_SRC_3/limdia.F90
r2472 r2477 22 22 USE dom_ice 23 23 USE ice 24 USE iceini25 USE limistate26 24 USE dom_oce 27 25 USE sbc_oce ! Surface boundary condition: ocean fields -
trunk/NEMO/LIM_SRC_3/limdyn.F90
r1470 r2477 20 20 USE sbc_oce ! Surface boundary condition: ocean fields 21 21 USE sbc_ice ! Surface boundary condition: ice fields 22 USE iceini23 USE limistate24 22 USE limrhg ! ice rheology 25 23 USE lbclnk -
trunk/NEMO/LIM_SRC_3/limitd_me.F90
r1572 r2477 19 19 USE sbc_oce ! Surface boundary condition: ocean fields 20 20 USE thd_ice 21 USE limistate22 21 USE in_out_manager 23 22 USE ice … … 25 24 USE limthd_lac 26 25 USE limvar 27 USE iceini28 26 USE limcons 29 27 USE prtctl ! Print control -
trunk/NEMO/LIM_SRC_3/limitd_th.F90
r1465 r2477 17 17 USE phycst ! physical constants (ocean directory) 18 18 USE thd_ice 19 USE limistate20 19 USE in_out_manager 21 20 USE ice … … 23 22 USE limthd_lac 24 23 USE limvar 25 USE iceini26 24 USE limcons 27 25 USE prtctl ! Print control -
trunk/NEMO/LIM_SRC_3/limrhg.F90
r1469 r2477 22 22 USE sbc_ice ! Surface boundary condition: ice fields 23 23 USE ice 24 USE iceini25 24 USE lbclnk 26 25 USE lib_mpp -
trunk/NEMO/LIM_SRC_3/limrst.F90
r1715 r2477 289 289 ! 290 290 291 IF( ln_nicep) THEN292 WRITE(numout,*)293 WRITE(numout,*) ' lim_rst_write : CHUKCHI SEA POINT '294 WRITE(numout,*) ' ~~~~~~~~~~'295 WRITE(numout,*) ' ~~~ Arctic'296 297 ji = jiindx298 jj = jjindx299 300 WRITE(numout,*) ' ji, jj ', ji, jj301 WRITE(numout,*) ' ICE VARIABLES '302 WRITE(numout,*) ' open water ', ato_i(ji,jj)303 DO jl = 1, jpl304 WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl305 WRITE(numout,*) ' '306 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl)307 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl)308 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl)309 WRITE(numout,*) ' e_s : ', e_s(ji,jj,1,jl)/1.0e9310 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9311 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9312 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl)313 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl)314 WRITE(numout,*) ' t_su : ', t_su(ji,jj,jl)315 END DO316 317 WRITE(numout,*) ' MOMENTS OF ADVECTION '318 319 WRITE(numout,*) ' open water '320 WRITE(numout,*) ' sxopw ', sxopw(ji,jj)321 WRITE(numout,*) ' syopw ', syopw(ji,jj)322 WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj)323 WRITE(numout,*) ' syyopw ', syyopw(ji,jj)324 WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj)325 DO jl = 1, jpl326 WRITE(numout,*) ' jl, ice volume content ', jl327 WRITE(numout,*) ' sxice ', sxice(ji,jj,jl)328 WRITE(numout,*) ' syice ', syice(ji,jj,jl)329 WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl)330 WRITE(numout,*) ' syyice ', syyice(ji,jj,jl)331 WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl)332 WRITE(numout,*) ' jl, snow volume content ', jl333 WRITE(numout,*) ' sxsn ', sxsn(ji,jj,jl)334 WRITE(numout,*) ' sysn ', sysn(ji,jj,jl)335 WRITE(numout,*) ' sxxsn ', sxxsn(ji,jj,jl)336 WRITE(numout,*) ' syysn ', syysn(ji,jj,jl)337 WRITE(numout,*) ' sxysn ', sxysn(ji,jj,jl)338 WRITE(numout,*) ' jl, ice area in category ', jl339 WRITE(numout,*) ' sxa ', sxa (ji,jj,jl)340 WRITE(numout,*) ' sya ', sya (ji,jj,jl)341 WRITE(numout,*) ' sxxa ', sxxa (ji,jj,jl)342 WRITE(numout,*) ' syya ', syya (ji,jj,jl)343 WRITE(numout,*) ' sxya ', sxya (ji,jj,jl)344 WRITE(numout,*) ' jl, snow temp ', jl345 WRITE(numout,*) ' sxc0 ', sxc0(ji,jj,jl)346 WRITE(numout,*) ' syc0 ', syc0(ji,jj,jl)347 WRITE(numout,*) ' sxxc0 ', sxxc0(ji,jj,jl)348 WRITE(numout,*) ' syyc0 ', syyc0(ji,jj,jl)349 WRITE(numout,*) ' sxyc0 ', sxyc0(ji,jj,jl)350 WRITE(numout,*) ' jl, ice salinity ', jl351 WRITE(numout,*) ' sxsal ', sxsal(ji,jj,jl)352 WRITE(numout,*) ' sysal ', sysal(ji,jj,jl)353 WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl)354 WRITE(numout,*) ' syysal ', syysal(ji,jj,jl)355 WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl)356 WRITE(numout,*) ' jl, ice age ', jl357 WRITE(numout,*) ' sxage ', sxage(ji,jj,jl)358 WRITE(numout,*) ' syage ', syage(ji,jj,jl)359 WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl)360 WRITE(numout,*) ' syyage ', syyage(ji,jj,jl)361 WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl)362 END DO363 DO jl = 1, jpl364 DO jk = 1, nlay_i365 WRITE(numout,*) ' jk, jl, ice heat content', jk, jl366 WRITE(numout,*) ' sxe ', sxe(ji,jj,jk,jl)367 WRITE(numout,*) ' sye ', sye(ji,jj,jk,jl)368 WRITE(numout,*) ' sxxe ', sxxe(ji,jj,jk,jl)369 WRITE(numout,*) ' syye ', syye(ji,jj,jk,jl)370 WRITE(numout,*) ' sxye ', sxye(ji,jj,jk,jl)371 END DO372 END DO373 374 ENDIF375 376 291 END SUBROUTINE lim_rst_write 377 292 … … 471 386 ! Salinity profile 472 387 !----------------- 473 WRITE(numout,*) ' num_sal - will restart understand salinity profile ', num_sal 474 475 num_sal = 2 476 IF(num_sal.eq.2) THEN 388 IF( num_sal == 2 ) THEN 477 389 ! CALL lim_var_salprof 478 390 DO jl = 1, jpl … … 649 561 CALL iom_close( numrir ) 650 562 651 !+++++++++++ CHECK EVERYTHING ++++++++++652 653 WRITE(numout,*)654 WRITE(numout,*) ' lim_rst_read : CHUKCHI SEA POINT '655 WRITE(numout,*) ' ~~~~~~~~~~'656 WRITE(numout,*) ' ~~~ Arctic'657 658 indx = 1659 ji = 24660 jj = 24661 WRITE(numout,*) ' ji, jj ', ji, jj662 WRITE(numout,*) ' ICE VARIABLES '663 WRITE(numout,*) ' open water ', ato_i(ji,jj)664 665 DO jl = 1, jpl666 WRITE(numout,*) ' *** CATEGORY NUMBER *** ', jl667 WRITE(numout,*) ' '668 WRITE(numout,*) ' a_i : ', a_i(ji,jj,jl)669 WRITE(numout,*) ' v_i : ', v_i(ji,jj,jl)670 WRITE(numout,*) ' v_s : ', v_s(ji,jj,jl)671 WRITE(numout,*) ' e_i1 : ', e_i(ji,jj,1,jl)/1.0e9672 WRITE(numout,*) ' e_i2 : ', e_i(ji,jj,2,jl)/1.0e9673 WRITE(numout,*) ' e_s : ', e_s(ji,jj,1,jl)674 WRITE(numout,*) ' smv_i : ', smv_i(ji,jj,jl)675 WRITE(numout,*) ' oa_i : ', oa_i(ji,jj,jl)676 WRITE(numout,*) ' t_su : ', t_su(ji,jj,jl)677 END DO678 679 WRITE(numout,*) ' open water '680 WRITE(numout,*) ' sxopw ', sxopw(ji,jj)681 WRITE(numout,*) ' syopw ', syopw(ji,jj)682 WRITE(numout,*) ' sxxopw ', sxxopw(ji,jj)683 WRITE(numout,*) ' syyopw ', syyopw(ji,jj)684 WRITE(numout,*) ' sxyopw ', sxyopw(ji,jj)685 DO jl = 1, jpl686 WRITE(numout,*) ' jl, ice volume content ', jl687 WRITE(numout,*) ' sxice ', sxice(ji,jj,jl)688 WRITE(numout,*) ' syice ', syice(ji,jj,jl)689 WRITE(numout,*) ' sxxice ', sxxice(ji,jj,jl)690 WRITE(numout,*) ' syyice ', syyice(ji,jj,jl)691 WRITE(numout,*) ' sxyice ', sxyice(ji,jj,jl)692 WRITE(numout,*) ' jl, snow volume content ', jl693 WRITE(numout,*) ' sxsn ', sxsn(ji,jj,jl)694 WRITE(numout,*) ' sysn ', sysn(ji,jj,jl)695 WRITE(numout,*) ' sxxsn ', sxxsn(ji,jj,jl)696 WRITE(numout,*) ' syysn ', syysn(ji,jj,jl)697 WRITE(numout,*) ' sxysn ', sxysn(ji,jj,jl)698 WRITE(numout,*) ' jl, ice area in category ', jl699 WRITE(numout,*) ' sxa ', sxa (ji,jj,jl)700 WRITE(numout,*) ' sya ', sya (ji,jj,jl)701 WRITE(numout,*) ' sxxa ', sxxa (ji,jj,jl)702 WRITE(numout,*) ' syya ', syya (ji,jj,jl)703 WRITE(numout,*) ' sxya ', sxya (ji,jj,jl)704 WRITE(numout,*) ' jl, snow temp ', jl705 WRITE(numout,*) ' sxc0 ', sxc0(ji,jj,jl)706 WRITE(numout,*) ' syc0 ', syc0(ji,jj,jl)707 WRITE(numout,*) ' sxxc0 ', sxxc0(ji,jj,jl)708 WRITE(numout,*) ' syyc0 ', syyc0(ji,jj,jl)709 WRITE(numout,*) ' sxyc0 ', sxyc0(ji,jj,jl)710 WRITE(numout,*) ' jl, ice salinity ', jl711 WRITE(numout,*) ' sxsal ', sxsal(ji,jj,jl)712 WRITE(numout,*) ' sysal ', sysal(ji,jj,jl)713 WRITE(numout,*) ' sxxsal ', sxxsal(ji,jj,jl)714 WRITE(numout,*) ' syysal ', syysal(ji,jj,jl)715 WRITE(numout,*) ' sxysal ', sxysal(ji,jj,jl)716 WRITE(numout,*) ' jl, ice age ', jl717 WRITE(numout,*) ' sxage ', sxage(ji,jj,jl)718 WRITE(numout,*) ' syage ', syage(ji,jj,jl)719 WRITE(numout,*) ' sxxage ', sxxage(ji,jj,jl)720 WRITE(numout,*) ' syyage ', syyage(ji,jj,jl)721 WRITE(numout,*) ' sxyage ', sxyage(ji,jj,jl)722 END DO723 DO jl = 1, jpl724 DO jk = 1, nlay_i725 WRITE(numout,*) ' jk, jl, ice heat content', jk, jl726 WRITE(numout,*) ' sxe ', sxe(ji,jj,jk,jl)727 WRITE(numout,*) ' sye ', sye(ji,jj,jk,jl)728 WRITE(numout,*) ' sxxe ', sxxe(ji,jj,jk,jl)729 WRITE(numout,*) ' syye ', syye(ji,jj,jk,jl)730 WRITE(numout,*) ' sxye ', sxye(ji,jj,jk,jl)731 END DO732 END DO733 734 !+++++++++++ END CHECK +++++++++++++++++735 736 563 END SUBROUTINE lim_rst_read 737 564 -
trunk/NEMO/LIM_SRC_3/limsbc.F90
r1695 r2477 22 22 USE phycst ! physical constants 23 23 USE ice ! LIM sea-ice variables 24 USE iceini ! ???25 24 26 25 USE lbclnk ! ocean lateral boundary condition -
trunk/NEMO/LIM_SRC_3/limthd.F90
r2387 r2477 15 15 !!---------------------------------------------------------------------- 16 16 !! lim_thd : thermodynamic of sea ice 17 !! lim_thd_init : initialisation of sea-ice thermodynamic18 17 !!---------------------------------------------------------------------- 19 18 USE phycst ! physical constants … … 26 25 USE dom_ice ! LIM sea-ice domain 27 26 USE domvvl 28 USE iceini29 27 USE limthd_dif 30 28 USE limthd_dh … … 91 89 !!------------------------------------------------------------------- 92 90 93 IF( numit == nstart ) CALL lim_thd_init ! Initialization (first time-step only)94 95 IF( numit == nstart ) CALL lim_thd_sal_init ! Initialization (first time-step only)96 91 97 92 !------------------------------------------------------------------------------! -
trunk/NEMO/LIM_SRC_3/limthd_dh.F90
r1572 r2477 18 18 USE sbc_oce ! Surface boundary condition: ocean fields 19 19 USE thd_ice 20 USE iceini21 USE limistate22 20 USE in_out_manager 23 21 USE ice -
trunk/NEMO/LIM_SRC_3/limthd_dif.F90
r1465 r2477 15 15 USE phycst ! physical constants (ocean directory) 16 16 USE thd_ice 17 USE iceini18 USE limistate19 17 USE in_out_manager 20 18 USE ice -
trunk/NEMO/LIM_SRC_3/limthd_ent.F90
r1724 r2477 19 19 USE phycst 20 20 USE thd_ice 21 USE iceini22 USE limistate23 21 USE ice 24 22 USE limvar -
trunk/NEMO/LIM_SRC_3/limthd_lac.F90
r1469 r2477 21 21 USE par_ice 22 22 USE ice 23 USE iceini24 23 USE limtab 25 24 USE limcons -
trunk/NEMO/LIM_SRC_3/limthd_sal.F90
r1465 r2477 16 16 USE sbc_oce ! Surface boundary condition: ocean fields 17 17 USE thd_ice 18 USE iceini19 18 USE ice 20 USE limistate21 19 USE in_out_manager 22 20 USE limvar -
trunk/NEMO/LIM_SRC_3/limtrp.F90
r1922 r2477 18 18 USE dom_ice 19 19 USE ice 20 USE iceini21 USE limistate22 20 USE limadv 23 21 USE limhdf -
trunk/NEMO/LIM_SRC_3/limupdate.F90
r1715 r2477 29 29 USE phycst ! Define parameters for the routines 30 30 USE ice 31 USE iceini32 31 USE lbclnk 33 32 USE limdyn -
trunk/NEMO/LIM_SRC_3/limwri.F90
r1715 r2477 26 26 USE dom_ice 27 27 USE ice 28 USE iceini29 28 USE lbclnk 30 29 USE par_ice
Note: See TracChangeset
for help on using the changeset viewer.