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 21 (modified by flavoni, 14 years ago) (diff)

--

Integrating IOM_PUT


Integrating IOM_PUT


dowloading ./model NEMO_IGCM you can't use iom_put.
you can take modified files 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

and you have to change in opa9.card:
io_xml=y
if you want to activate iom_put

  • Modifications done:

Add in modispl/util/mod.def in NEMO_IGCM:

#-H- NEMO_IGCM NEMO trunk revision 1661
(revision without bottom friction bug) #-H- NEMO_IGCM libIGCM tag libIGCM_v1_4
#-H- NEMO_IGCM NEMO_XMLIO_SERVER svn r37
#-C- NEMO_IGCM XMLF90 HEAD 12 XMLF90 modeles
#-C- NEMO_IGCM XMLIO_SERVER/trunk 37 12 XMLIO_SERVER modeles
#-C- NEMO_IGCM trunk/EXTERNAL/XMLF90 HEAD 7 XMLF90/external modeles
#-C- NEMO_IGCM trunk/EXTERNAL/XMLIO_SERVER HEAD 7 XMLIO_SERVER/external modeles

changes:

  • 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)

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

  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)

  • 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 )

  • 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

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)