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

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
user/flavoni/libIGCM/iom_put – NEMO
wiki:user/flavoni/libIGCM/iom_put

Version 26 (modified by flavoni, 14 years ago) (diff)

--

Integrating IOM_PUT


Integrating IOM_PUT


Working tests:

  1. test with iom_put (compiled with key_iomput):

work/cont003/flavoni/LIBIGCM_NEMO/LIKE-COUPLED/test_iom_lib14_rev1661_WR/modipsl/config/ORCA2_LIM/IGCM_lim14io

  1. same test but without iom_put (in opa9.card io_xml=n):

work/cont003/flavoni/LIBIGCM_NEMO/LIKE-COUPLED/test_lib14_rev1661_WR/modipsl/config/ORCA2_LIM/IGCM_lim14_io

today 30/10/2009 if you dowload ./model NEMO_IGCM you can't use iom_put.

If you want activate iom_put

If you want to activate iom_put you have to:

  • download model NEMO_IGCM:
    cd modipsl/util 
    ./model NEMO_IGCM 
    
  • comment lines in dommsk:
           ij0 = 115   ;   ij1 = 115 
            ii0 = 145   ;   ii1 = 146   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 
            ij0 = 116   ;   ij1 = 116 
            ii0 = 145   ;   ii1 = 146   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 
    
  • put in namelist
     rn_bfri1    =    0.e-4 
    
  • Add key in modipsl/config/ORCA2_LIM/scripts/BB_make.ldef
    key_iomput
    
  • Do an ins_make :
    ./modipsl/util/ins_make
    

  • Go in ORCA2_LIM directory :
    cd modipsl/config/ORCA2_LIM
    
  • Compile :
    gmake
    
  • you can copy modified files (opa9.driver, opa9.card, lim2.card, POST directory) that you find in:
    brodie: /workdir/rech/eee/reee605/LIBIGCM_NEMO/LIKE-COUPLED/test_claire/  
    mercure: /work/cont003/flavoni/LIBIGCM_NEMO/LIKE-COUPLED/test_iom_lib14_rev1661_WR/modipsl/config/ORCA2_LIM/IGCM_lim14_io/COMP  
    
  • Change in opa9.card:
    io_xml='''y'''  
    

My job: modifications done till 30/10/2009 to prepare files for using iom_put:

  1. Changed revision for nemo in modispl/util/mod.def in NEMO_IGCM:

#-H- NEMO_IGCM NEMO trunk revision 1661
(revision without bottom friction bug)

in lim2.card

  1. changed PREFIX name for output .nc file
    [OutputFiles?]
    List= (${PREFIX_NEMO}_icemod.nc, ${R_OUT_ICE_NWRITE}/${PREFIX}_${WF1}_icemod.nc, Post_1M_icemod)

  1. removed deptht (for monitoring, no good to do ncrcat in 3 dimensions for ice)
    [Post_1M_icemod]
    GatherWithInternal? = (nav_lon, nav_lat, time_counter)
  1. removed ileadfra for the moment
    TimeSeriesVars? = (iicethic, isnowthi, iicevelu, iicevelv)

NOTE: for this moment ileadfra removed because in iomdef.xml there are new variables' names (like IPPC requested) and ileadfra there is no more in output from nemo's code, waiting for that nemo put in output 1-soicecov (=ileadfra)

in opa9.card

  1. changed PREFIX name for output .nc file
    [OutputFiles?]
    List= (${PREFIX_NEMO}'_grid_T.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_T.nc, Post_1M_grid_T),\
    (${PREFIX_NEMO}_grid_U.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_U.nc, Post_1M_grid_U),\ [BR]] (${PREFIX_NEMO}_grid_V.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_V.nc, Post_1M_grid_V),\
    (${PREFIX_NEMO}_grid_W.nc, ${R_OUT_OCE_NWRITE}/${PREFIX}_${WF1}_grid_W.nc, Post_1M_grid_W),\

(in opa9.driver ${PREFIX_NEMO} is:
${PREFIX_NEMO}=${PREFIX}_{WF1} if we use iomput
${PREFIX_NEMO}=${PREFIX_NWRITE}_${DATE_OPA} if not )

in opa9.driver

  1. possibility to use io_server (but not testing now)
    ##--Variables used for XMLIO_SERVER configuration file
    # using_server: .TRUE.(.FALSE.) to use(bypass) the io_server
    PAT_SERVER=$( supergrep using_server ${SUBMIT_DIR}/PARAM/xmlio_server.def )
  1. Added output_frequency in days, if not xml file is not correct
    (( output_frequency_oce = $WriteFrequencyInDays? * 86400 ))
    (( output_frequency_ice = $WriteFrequencyInDays? * 86400 ))
  1. replaced output filenames in xml file
    sed -e "s/<file_name_grid_T>/ \"${PREFIX_NEMO}_grid_T.nc\"/" \
    -e "s/<file_name_grid_U>/ \"${PREFIX_NEMO}_grid_U.nc\"/" \
    -e "s/<file_name_grid_V>/ \"${PREFIX_NEMO}_grid_V.nc\"/" \
    -e "s/<file_name_grid_W>/ \"${PREFIX_NEMO}_grid_W.nc\"/" \
    -e "s/<file_name_icemod>/ \"${PREFIX_NEMO}_icemod.nc\"/" \
    -e "s/<output_frequency_oce>/ \"${output_frequency_oce}\"/g" \
    -e "s/<output_frequency_ice>/ \"${output_frequency_ice}\"/g" \
    iodef.xml > iodef.xml.tmp

IGCM_sys_Mv iodef.xml.tmp iodef.xml

  1. determine number of day(s) in WriteFrequency? :
    case ${config_UserChoices_OCE_WriteFrquency} in

1Y|1y)

(( WriteFrequencyInDays? = $( IGCM_date_DaysInYear $year ) )) ;;

1M|1m)

(( WriteFrequencyInDays? = $( IGCM_date_DaysInMonth $year $month ) )) ;;

5D|5d)

(( WriteFrequencyInDays?=5 )) ;;

1D|1d)

(( WriteFrequencyInDays?=1 )) ;;

*)

IGCM_debug_Exit "IGCM_config_OCE_WriteFrquency " ${config_UserChoices_OCE_WriteFrquency} " invalid write frquency length : choose in 1Y, 1M, 5D, 1D." IGCM_debug_Verif_Exit ;;

esac

  1. Created POST directory under $SUBMIT_DIR:
    In POST directrory there are:
    monitoring01_lim2_ORCA2.cfg
    monitoring01_opa9_ORCA2.cfg

In monitoring01_lim2_ORCA2.cfg I removed ileadfra because now this variable does not exists, and if I don't use "dynamic monitoring" I can't have ICE monitoring (monitoring don't create monitoring images if there is one or more variables that does not exist).

see https://forge.ipsl.jussieu.fr/nemo/wiki/private/libIGCM/postprocessingpage

At this point: open problems:

  1. Don't have ATLAS for "ice cover": because new variable is named soicecov and in atlas is written ileadfra
  2. to do: calcul for 2 frequencies (waiting for a new iodef.xml)