diff --git a/GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90 b/GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90 index 69316e660..c8adea992 100644 --- a/GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90 +++ b/GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90 @@ -370,6 +370,10 @@ subroutine SetServices(GC, RC) SHORT_NAME = 'SWH', & CHILD_ID = WM, __RC__) + call MAPL_AddExportSpec(GC, & + SHORT_NAME = 'WCM', & + CHILD_ID = WM, __RC__) + call MAPL_AddExportSpec(GC, & SHORT_NAME = 'DCP', & CHILD_ID = WM, __RC__) diff --git a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/GEOS_WaveWatchGridComp.F90 b/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/GEOS_WaveWatchGridComp.F90 index c7fc934f9..e6e569f58 100644 --- a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/GEOS_WaveWatchGridComp.F90 +++ b/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/GEOS_WaveWatchGridComp.F90 @@ -239,7 +239,21 @@ subroutine SetServices(GC, RC) SHORT_NAME = 'EDF', & CHILD_ID = WW3GC, __RC__) - + call MAPL_AddExportSpec(GC, & + SHORT_NAME = 'WCC', & + CHILD_ID = WW3GC, __RC__) + + call MAPL_AddExportSpec(GC, & + SHORT_NAME = 'WCF', & + CHILD_ID = WW3GC, __RC__) + + call MAPL_AddExportSpec(GC, & + SHORT_NAME = 'WCH', & + CHILD_ID = WW3GC, __RC__) + + call MAPL_AddExportSpec(GC, & + SHORT_NAME = 'WCM', & + CHILD_ID = WW3GC, __RC__) ! Set the Profiling timers diff --git a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/CMakeLists.txt b/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/CMakeLists.txt index 0d6073c2a..416e6e57a 100644 --- a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/CMakeLists.txt +++ b/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/CMakeLists.txt @@ -1,62 +1,61 @@ esma_set_this () - -list( APPEND WW3ESMF_FTN - constants.ftn - w3adatmd.ftn - w3arrymd.ftn - w3cspcmd.ftn - w3dispmd.ftn - w3fldsmd.ftn - w3flx1md.ftn - w3gdatmd.ftn - w3gsrumd.ftn - w3idatmd.ftn - w3initmd.ftn - w3iobcmd.ftn - w3iogomd.ftn - w3iogrmd.ftn - w3iopomd.ftn - w3iorsmd.ftn - w3iosfmd.ftn - w3iotrmd.ftn - w3nmlmultimd.ftn - w3odatmd.ftn - w3parall.ftn - w3partmd.ftn - w3pro3md.ftn - w3profsmd.ftn - w3sbt1md.ftn - w3sdb1md.ftn - w3servmd.ftn - w3snl1md.ftn - w3sln1md.ftn - w3fld1md.ftn - w3fld2md.ftn - w3src4md.ftn - w3srcemd.ftn - w3timemd.ftn - w3triamd.ftn - w3updtmd.ftn - w3uqckmd.ftn - w3wavemd.ftn - w3wdasmd.ftn - w3wdatmd.ftn - wmmaplmd.ftn - wmfinlmd.ftn - wmgridmd.ftn - wminiomd.ftn - wminitmd.ftn - wmiopomd.ftn - wmmdatmd.ftn - wmscrpmd.ftn - wmunitmd.ftn - wmupdtmd.ftn - wmwavemd.ftn +list( APPEND WW3ESMF_SRCS + constants.F90 + w3adatmd.F90 + w3arrymd.F90 + w3cspcmd.F90 + w3dispmd.F90 + w3fldsmd.F90 + w3gdatmd.F90 + w3flx1md.F90 + w3gsrumd.F90 + w3idatmd.F90 + w3initmd.F90 + w3iobcmd.F90 + w3iogomd.F90 + w3iogrmd.F90 + w3iopomd.F90 + w3iorsmd.F90 + w3iosfmd.F90 + w3iotrmd.F90 + w3nmlmultimd.F90 + w3odatmd.F90 + w3parall.F90 + w3partmd.F90 + w3pro3md.F90 + w3profsmd.F90 + w3sbt1md.F90 + w3sdb1md.F90 + w3servmd.F90 + w3snl1md.F90 + w3sln1md.F90 + w3fld1md.F90 + w3fld2md.F90 + w3src4md.F90 + w3srcemd.F90 + w3timemd.F90 + w3triamd.F90 + w3updtmd.F90 + w3uqckmd.F90 + w3wavemd.F90 + w3wdasmd.F90 + w3wdatmd.F90 + wmmaplmd.F90 + wmfinlmd.F90 + wmgridmd.F90 + wminiomd.F90 + wminitmd.F90 + wmiopomd.F90 + wmmdatmd.F90 + wmscrpmd.F90 + wmunitmd.F90 + wmupdtmd.F90 + wmwavemd.F90 SCRIP/scrip_constants.f SCRIP/scrip_errormod.f90 SCRIP/scrip_grids.f - SCRIP/scrip_interface.ftn + SCRIP/scrip_interface.F90 SCRIP/scrip_iounitsmod.f90 SCRIP/scrip_kindsmod.f90 SCRIP/scrip_netcdfmod.f90 @@ -70,40 +69,65 @@ list( APPEND WW3ESMF_FTN esma_mepo_style(ww3 WW3_rel_path REL_PATH ..) set (WW3_path ${CMAKE_CURRENT_SOURCE_DIR}/${WW3_rel_path}) -get_filename_component(aux_dir ${WW3_path}/model/aux ABSOLUTE) -get_filename_component(ftn_dir ${WW3_path}/model/ftn ABSOLUTE) - -message(DEBUG "WW3 aux_dir ${aux_dir}") -message(DEBUG "WW3 ftn_dir ${ftn_dir}") - -add_executable(w3adc "${aux_dir}/w3adc.f") - -set (WW3ESMF_F90) -foreach(src_file ${WW3ESMF_FTN}) - STRING(REGEX REPLACE ".ftn" ".F90" gen_src_file ${src_file}) - STRING(REGEX REPLACE "/" "_" gen_log_file ${gen_src_file}) - # Testing shows that we only want BYPRODUCTS here if our CMAKE_GENERATOR is Unix Makefiles - # If we use Ninja, we don't want BYPRODUCTS - if (CMAKE_GENERATOR STREQUAL "Unix Makefiles") - set(BYPRODUCTS ${gen_src_file}) - else() - set(BYPRODUCTS "") - endif() - add_custom_command( - OUTPUT ${gen_src_file} - BYPRODUCTS ${BYPRODUCTS} - DEPENDS w3adc ${ftn_dir}/${src_file} - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/run_w3adc.sh ${ftn_dir} ${src_file} > ${gen_log_file}.w3adc.log 2>&1 - COMMENT "Running w3adc ${src_file}") - list(APPEND WW3ESMF_F90 ${gen_src_file}) +set (SRCS) +foreach(src_file ${WW3ESMF_SRCS}) + list(APPEND SRCS ${WW3_path}/model/src/${src_file}) +# message(STATUS "WW3::file ${src_file}") +# message(STATUS "WW3::file ${WW3_path}/model/src/${src_file}") +# message(STATUS "") endforeach() - esma_add_library (${this} - SRCS ${WW3ESMF_F90} + SRCS ${SRCS} DEPENDENCIES MAPL ESMF::ESMF NetCDF::NetCDF_Fortran ) -target_include_directories (${this} PRIVATE - $ + +set (switch_strings "NOGRB DIST MPI SCRIP PR3 UQ FLX0 LN1 FLD2 ST4 STAB0 NL1 BT1 DB1 MLIM TR0 BS0 XX0 WNX0 WNT0 CRX0 CRT0 O0 O1 O2 O3 O4 O5 O6 O7 IC0 IS0 REF0" ) + +set_property (SOURCE ${WW3_path}/model/src/w3initmd.F90 + APPEND + PROPERTY COMPILE_DEFINITIONS + "__WW3_SWITCHES__=\'${switch_strings}\'" ) + + +list (APPEND defs + W3_NOGRB + W3_DIST + W3_MPI + W3_SCRIP + W3_PR3 + W3_UQ + W3_FLX0 + W3_LN1 + W3_FLD2 + W3_ST4 + W3_STAB0 + W3_NL1 + W3_BT1 + W3_DB1 + W3_MLIM + W3_TR0 + W3_BS0 + W3_XX0 + W3_WNX0 + W3_WNT0 + W3_CRX0 + W3_CRT0 + W3_O0 + W3_O1 + W3_O2 + W3_O3 + W3_O4 + W3_O5 + W3_O6 + W3_O7 + W3_IC0 + W3_IS0 + W3_REF0 +) + +target_compile_definitions(${this} PRIVATE ${defs}) + + diff --git a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/run_w3adc.sh b/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/run_w3adc.sh deleted file mode 100755 index bef344bf4..000000000 --- a/GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/run_w3adc.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -set -eux - -if [ $# -ne 2 ]; then - echo "Error in run_w3adc.sh" - exit 1 -fi - -ftn_dir=$1 -filename=$2 - -switches=$(cat ${ftn_dir}/../esmf/switch | tr '\n' ' ') - -extension="${filename##*.}" -basename="${filename%.*}" -inputname="${filename//\//_}.input" - -mkdir -p $( dirname ${filename} ) - -if [[ $extension == "ftn" ]]; then - echo "0 0" > ${inputname} - echo "'${ftn_dir}/${filename}' '${basename}.F90'" >> ${inputname} - echo "'${switches}'" >> ${inputname} - ./w3adc < ${inputname} -else - cp ${ftn_dir}/${filename} ${filename} -fi - -echo "Done running w3adc for ${filename}"