Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alarms based on nsteps #447

Merged
merged 20 commits into from
Aug 22, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
317 changes: 12 additions & 305 deletions cesm/driver/esm_time_mod.F90

Large diffs are not rendered by default.

859 changes: 0 additions & 859 deletions cesm/nuopc_cap_share/nuopc_shr_methods.F90

This file was deleted.

24 changes: 19 additions & 5 deletions cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,10 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files):
config["continue_run"] = ".true." if case.get_value("CONTINUE_RUN") else ".false."
config["flux_epbal"] = "ocn" if case.get_value("CPL_EPBAL") == "ocn" else "off"
config["mask_grid"] = case.get_value("MASK_GRID")
config["rest_option"] = case.get_value("REST_OPTION")
for val in ("HIST", "REST", "STOP"):
config[val.lower()+"_option"] = case.get_value(val+"_OPTION")


config["comp_ocn"] = case.get_value("COMP_OCN")

atm_grid = case.get_value("ATM_GRID")
Expand Down Expand Up @@ -199,6 +202,19 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files):
coupling_times[comp.lower() + "_cpl_dt"] = cpl_dt
mindt = min(mindt, cpl_dt)

# Here we convert "nsteps" to "nseconds", this simplifies the fortran

for val in ("REST", "HIST", "STOP"):
if case.get_value(val+"_OPTION") == "nsteps":
nsteps = case.get_value(val+"_N")
if val == "REST":
nmlgen.set_value("restart_n", value=mindt*nsteps)
elif val == "HIST":
nmlgen.set_value("history_n", value=mindt*nsteps)
else:
nmlgen.set_value("stop_n", value=mindt*nsteps)


# sanity check
comp_atm = case.get_value("COMP_ATM")
if comp_atm is not None and comp_atm not in ("datm", "xatm", "satm"):
Expand Down Expand Up @@ -305,7 +321,7 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files):

for item in case.get_values("COMP_CLASSES"):
comp = case.get_value("COMP_" + item)
if case.get_value(f"PIO_ASYNC_INTERFACE", {"compclass":item}):
if case.get_value("PIO_ASYNC_INTERFACE", {"compclass":item}):
asyncio = True

valid = True
Expand Down Expand Up @@ -608,8 +624,6 @@ def buildnml(case, caseroot, component):
if component != "drv":
raise AttributeError

# Do a check here of ESMF VERSION, requires 8.1.0 or newer (8.2.0 or newer for esmf_aware_threading)
esmf_aware_threading = case.get_value("ESMF_AWARE_THREADING")
esmfmkfile = os.getenv("ESMFMKFILE")
expect(
esmfmkfile and os.path.isfile(esmfmkfile),
Expand All @@ -623,7 +637,7 @@ def buildnml(case, caseroot, component):
major = line[-2] if "MAJOR" in line else major
minor = line[-2] if "MINOR" in line else minor
logger.debug("ESMF version major {} minor {}".format(major, minor))
expect(int(major) >= 8 and int(minor) >=4, "ESMF version should be 8.4.1 or newer")
expect(int(major) >= 8 and int(minor) >=6, "ESMF version should be 8.6.1 or newer")

confdir = os.path.join(case.get_value("CASEBUILD"), "cplconf")
if not os.path.isdir(confdir):
Expand Down
2 changes: 1 addition & 1 deletion cime_config/config_component.xml
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@
<group>run_begin_stop_restart</group>
<file>env_run.xml</file>
<desc>
Run start time-of-day
Run start time-of-day, units are seconds with values from 0 to 86400.
</desc>
</entry>

Expand Down
24 changes: 13 additions & 11 deletions cime_config/namelist_definition_drv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -233,17 +233,15 @@
</values>
</entry>

<!-- =========================================== -->
<!-- All components orbital attributes -->
<!-- =========================================== -->

<!-- not yet fully implemented, set to false -->
<entry id="write_restart_at_endofrun">
<type>logical</type>
<category>nuopc</category>
<group>ALLCOMP_attributes</group>
<values>
<value>.false.</value>
<value rest_option="end">.true.</value>
<value rest_option='none'>.false.</value>
<value rest_option='never'>.false.</value>
mvertens marked this conversation as resolved.
Show resolved Hide resolved
</values>
</entry>

Expand All @@ -256,6 +254,10 @@
</values>
</entry>

<!-- =========================================== -->
<!-- All components orbital attributes -->
<!-- =========================================== -->

<entry id="orb_mode">
<type>char</type>
<category>orbital</category>
Expand Down Expand Up @@ -1117,13 +1119,12 @@
<type>char</type>
<category>time</category>
<group>ALLCOMP_attributes</group>
<valid_values>none,never,nsteps,nseconds,nminutes,nhours,ndays,nmonths,nyears,monthly,yearly,date,end</valid_values>
<valid_values>none,never,nseconds,nminutes,nhours,ndays,nmonths,nyears,monthly,yearly,date,end</valid_values>
<desc>
mediator history snapshot option (used with history_n and history_ymd)
set by HIST_OPTION in env_run.xml.
history_option alarms are:
[none/never], turns option off
[nsteps] , history snapshot every history_n nsteps , relative to current run start time
[nseconds] , history snapshot every history_n nseconds, relative to current run start time
[nminutes] , history snapshot every history_n nminutes, relative to current run start time
[nhours] , history snapshot every history_n nhours , relative to current run start time
Expand All @@ -1136,6 +1137,7 @@
</desc>
<values>
<value>$HIST_OPTION</value>
<value hist_option="nsteps">nseconds</value>
</values>
</entry>

Expand Down Expand Up @@ -2720,12 +2722,11 @@
<type>char</type>
<category>time</category>
<group>CLOCK_attributes</group>
<valid_values>none,never,nsteps,nseconds,nminutes,nhours,ndays,monthly,nmonths,nyears,date,end</valid_values>
<valid_values>none,never,nseconds,nminutes,nhours,ndays,monthly,nmonths,nyears,date,end</valid_values>
<desc>
sets the run length with stop_n and stop_ymd
stop_option alarms are:
[none/never] , turns option off
[nsteps] , stops every stop_n nsteps , relative to current run start time
[nseconds] , stops every stop_n nseconds, relative to current run start time
[nminutes] , stops every stop_n nminutes, relative to current run start time
[nhours] , stops every stop_n nhours , relative to current run start time
Expand All @@ -2739,6 +2740,7 @@
</desc>
<values>
<value>$STOP_OPTION</value>
<value stop_option='nsteps'>nseconds</value>
</values>
</entry>

Expand Down Expand Up @@ -2784,12 +2786,11 @@
<type>char</type>
<category>time</category>
<group>CLOCK_attributes</group>
<valid_values>none,never,nsteps,nseconds,nminutes,nhours,ndays,nmonths,nyears,monthly,yearly,date,end</valid_values>
<valid_values>none,never,nseconds,nminutes,nhours,ndays,nmonths,nyears,monthly,yearly,date,end</valid_values>
<desc>
sets the restart frequency with restart_n and restart_ymd
restart_option alarms are:
[none/never], turns option off
[nsteps] , restarts every restart_n nsteps , relative to current run start time
[nseconds] , restarts every restart_n nseconds, relative to current run start time
[nminutes] , restarts every restart_n nminutes, relative to current run start time
[nhours] , restarts every restart_n nhours , relative to current run start time
Expand All @@ -2803,6 +2804,7 @@
</desc>
<values>
<value>$REST_OPTION</value>
<value rest_option="nsteps">nseconds</value>
</values>
</entry>

Expand Down
12 changes: 2 additions & 10 deletions cime_config/runseq/driver_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def __compute_glc(self, case, coupling_times):
# However will still need to call the exchange at the end if the stop_option
# is nsteps or days - or otherwise just every ndays
# Note that nsteps is the minimum component coupling time
if (comp_glc == 'cism'):
if comp_glc == 'cism':
glc_coupling_time = coupling_times["glc_cpl_dt"]
if not case.get_value("CISM_EVOLVE"):
stop_option = case.get_value('STOP_OPTION')
Expand All @@ -77,15 +77,7 @@ def __compute_glc(self, case, coupling_times):
glc_coupling_time = stop_n * 86400
else:
glc_coupling_time = 86400
elif (comp_glc == 'dglc'):
glc_coupling_time = coupling_times["glc_cpl_dt"]
is_test = case.get_value("TEST")
if not is_test:
stop_option = case.get_value('STOP_OPTION')
if stop_option == 'nsteps':
stop_n = case.get_value('STOP_N')
glc_coupling_time = stop_n*coupling_times["atm_cpl_dt"]
elif (comp_glc == 'xglc'):
elif comp_glc == 'dglc' or comp_glc == 'xglc':
jedwards4b marked this conversation as resolved.
Show resolved Hide resolved
glc_coupling_time = coupling_times["glc_cpl_dt"]
else:
glc_coupling_time = 0
Expand Down
2 changes: 1 addition & 1 deletion mediator/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set(SRCFILES esmFldsExchange_cesm_mod.F90 med_fraction_mod.F90
med_methods_mod.F90 med_phases_prep_ice_mod.F90
med_phases_restart_mod.F90 esmFldsExchange_hafs_mod.F90
med_internalstate_mod.F90 med_phases_aofluxes_mod.F90
med_phases_prep_lnd_mod.F90 med_time_mod.F90
med_phases_prep_lnd_mod.F90
esmFldsExchange_ufs_mod.F90 med_io_mod.F90
med_phases_history_mod.F90 med_phases_prep_ocn_mod.F90
med_utils_mod.F90 esmFlds.F90 med_kind_mod.F90
Expand Down
7 changes: 3 additions & 4 deletions mediator/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ esmFldsExchange_hafs_mod.o : med_kind_mod.o med_methods_mod.o esmFlds.o med_inte
med.o : med_kind_mod.o med_phases_profile_mod.o med_utils_mod.o med_phases_prep_rof_mod.o med_phases_aofluxes_mod.o \
med_phases_prep_ice_mod.o med_fraction_mod.o med_map_mod.o med_constants_mod.o med_phases_prep_wav_mod.o \
med_phases_prep_lnd_mod.o med_phases_history_mod.o med_phases_ocnalb_mod.o med_phases_restart_mod.o \
med_time_mod.o med_internalstate_mod.o med_phases_prep_atm_mod.o esmFldsExchange_cesm_mod.o esmFldsExchange_ufs_mod.o \
med_internalstate_mod.o med_phases_prep_atm_mod.o esmFldsExchange_cesm_mod.o esmFldsExchange_ufs_mod.o \
esmFldsExchange_hafs_mod.o med_phases_prep_glc_mod.o esmFlds.o med_io_mod.o med_methods_mod.o med_phases_prep_ocn_mod.o \
med_phases_post_atm_mod.o med_phases_post_ice_mod.o med_phases_post_lnd_mod.o med_phases_post_glc_mod.o med_phases_post_rof_mod.o \
med_phases_post_wav_mod.o
Expand All @@ -50,7 +50,7 @@ med_map_mod.o : med_kind_mod.o med_internalstate_mod.o med_constants_mod.o med_m
med_merge_mod.o : med_kind_mod.o med_constants_mod.o med_internalstate_mod.o esmFlds.o med_methods_mod.o med_utils_mod.o
med_methods_mod.o : med_kind_mod.o med_utils_mod.o med_constants_mod.o
med_phases_aofluxes_mod.o : med_kind_mod.o med_utils_mod.o med_map_mod.o med_constants_mod.o med_internalstate_mod.o esmFlds.o med_methods_mod.o
med_phases_history_mod.o : med_kind_mod.o med_utils_mod.o med_time_mod.o med_internalstate_mod.o med_constants_mod.o med_map_mod.o med_methods_mod.o med_io_mod.o esmFlds.o
med_phases_history_mod.o : med_kind_mod.o med_utils_mod.o med_internalstate_mod.o med_constants_mod.o med_map_mod.o med_methods_mod.o med_io_mod.o esmFlds.o
med_phases_ocnalb_mod.o : med_kind_mod.o med_utils_mod.o med_map_mod.o med_constants_mod.o med_internalstate_mod.o esmFlds.o med_methods_mod.o
med_phases_prep_atm_mod.o : med_kind_mod.o esmFlds.o med_methods_mod.o med_merge_mod.o med_map_mod.o med_constants_mod.o med_phases_ocnalb_mod.o med_internalstate_mod.o med_utils_mod.o
med_phases_prep_glc_mod.o : med_kind_mod.o med_utils_mod.o med_internalstate_mod.o med_map_mod.o med_constants_mod.o med_methods_mod.o esmFlds.o
Expand All @@ -68,6 +68,5 @@ med_phases_post_rof_mod.o : med_kind_mod.o esmFlds.o med_methods_mod.o med_map_m
med_phases_post_wav_mod.o : med_kind_mod.o esmFlds.o med_methods_mod.o med_map_mod.o med_constants_mod.o med_internalstate_mod.o med_utils_mod.o
med_phases_profile_mod.o : med_kind_mod.o med_utils_mod.o med_constants_mod.o med_internalstate_mod.o med_time_mod.o
med_phases_restart_mod.o : med_kind_mod.o med_utils_mod.o med_constants_mod.o med_internalstate_mod.o esmFlds.o med_io_mod.o
med_time_mod.o : med_kind_mod.o med_utils_mod.o med_constants_mod.o
med_utils_mod.o : med_kind_mod.o
med_diag_mod.o : med_kind_mod.o med_time_mod.o med_utils_mod.o med_methods_mod.o med_internalstate_mod.o
med_diag_mod.o : med_kind_mod.o med_utils_mod.o med_methods_mod.o med_internalstate_mod.o
7 changes: 4 additions & 3 deletions mediator/med.F90
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ module MED
use med_methods_mod , only : FB_getFieldN => med_methods_FB_getFieldN
use med_methods_mod , only : clock_timeprint => med_methods_clock_timeprint
use med_utils_mod , only : memcheck => med_memcheck
use med_time_mod , only : med_time_alarmInit
use med_internalstate_mod , only : InternalState, med_internalstate_init, med_internalstate_coupling
use med_internalstate_mod , only : med_internalstate_defaultmasks, logunit, maintask
use med_internalstate_mod , only : ncomps, compname
Expand Down Expand Up @@ -2261,7 +2260,9 @@ subroutine SetRunClock(gcomp, rc)
use ESMF , only : ESMF_ClockGetAlarmList
use NUOPC , only : NUOPC_CompCheckSetClock, NUOPC_CompAttributeGet
use NUOPC_Mediator , only : NUOPC_MediatorGet

! NUOPC_shr_methods is now in cesm_share and cdeps
use nuopc_shr_methods, only : AlarmInit

! input/output variables
type(ESMF_GridComp) :: gcomp
integer, intent(out) :: rc
Expand Down Expand Up @@ -2318,7 +2319,7 @@ subroutine SetRunClock(gcomp, rc)
call NUOPC_CompAttributeGet(gcomp, name="stop_ymd", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) stop_ymd
call med_time_alarmInit(mclock, stop_alarm, stop_option, opt_n=stop_n, opt_ymd=stop_ymd, &
call AlarmInit(mclock, stop_alarm, stop_option, opt_n=stop_n, opt_ymd=stop_ymd, &
alarmname='alarm_stop', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
stopalarmcreated = .true.
Expand Down
1 change: 0 additions & 1 deletion mediator/med_diag_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ module med_diag_mod
use med_methods_mod , only : fldbun_getdata2d => med_methods_FB_getdata2d
use med_methods_mod , only : fldbun_getdata1d => med_methods_FB_getdata1d
use med_methods_mod , only : fldbun_fldChk => med_methods_FB_FldChk
use med_time_mod , only : alarmInit => med_time_alarmInit
use med_utils_mod , only : chkerr => med_utils_ChkErr
use perf_mod , only : t_startf, t_stopf

Expand Down
6 changes: 3 additions & 3 deletions mediator/med_phases_aofluxes_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1720,9 +1720,6 @@ subroutine set_aoflux_out_pointers(fldbun, lsize, aoflux_out, xgrid, rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call fldbun_getfldptr(fldbun, 'So_duu10n', aoflux_out%duu10n, xgrid=xgrid, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return

call fldbun_getfldptr(fldbun, 'So_u10withGust', aoflux_out%u10_withGust, xgrid=xgrid, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call fldbun_getfldptr(fldbun, 'So_u10res', aoflux_out%u10res, xgrid=xgrid, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call fldbun_getfldptr(fldbun, 'Faox_taux', aoflux_out%taux, xgrid=xgrid, rc=rc)
Expand Down Expand Up @@ -1753,8 +1750,11 @@ subroutine set_aoflux_out_pointers(fldbun, lsize, aoflux_out, xgrid, rc)
if (add_gusts) then
call fldbun_getfldptr(fldbun, 'So_ugustOut', aoflux_out%ugust_out, xgrid=xgrid, rc=rc)
if (chkerr(rc,__LINE__,u_FILE_u)) return
call fldbun_getfldptr(fldbun, 'So_u10withGust', aoflux_out%u10_withGust, xgrid=xgrid, rc=rc)
mvertens marked this conversation as resolved.
Show resolved Hide resolved
if (chkerr(rc,__LINE__,u_FILE_u)) return
else
allocate(aoflux_out%ugust_out(lsize)); aoflux_out%ugust_out(:) = 0._R8
allocate(aoflux_out%u10_withGust(lsize)); aoflux_out%u10_withGust(:) = 0._R8
end if

end subroutine set_aoflux_out_pointers
Expand Down
12 changes: 6 additions & 6 deletions mediator/med_phases_history_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ module med_phases_history_mod
use med_utils_mod , only : chkerr => med_utils_ChkErr
use med_internalstate_mod , only : ncomps, compname
use med_internalstate_mod , only : InternalState, maintask, logunit
use med_time_mod , only : med_time_alarmInit
use med_io_mod , only : med_io_write, med_io_wopen, med_io_enddef, med_io_close
use perf_mod , only : t_startf, t_stopf
use pio , only : file_desc_t
Expand Down Expand Up @@ -153,6 +152,7 @@ subroutine med_phases_history_write(gcomp, rc)
use ESMF , only : ESMF_Alarm, ESMF_AlarmSet
use ESMF , only : ESMF_FieldBundleIsCreated
use med_internalstate_mod, only : compocn, compatm
use nuopc_shr_methods , only : alarmInit

! input/output variables
type(ESMF_GridComp) :: gcomp
Expand Down Expand Up @@ -184,6 +184,7 @@ subroutine med_phases_history_write(gcomp, rc)
type(ESMF_TimeInterval) :: ringInterval
integer :: ringInterval_length
logical :: first_time = .true.

character(len=*), parameter :: subname='(med_phases_history_write)'
!---------------------------------------

Expand Down Expand Up @@ -221,7 +222,7 @@ subroutine med_phases_history_write(gcomp, rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
call ESMF_ClockGet(mclock, startTime=starttime, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
call med_time_alarmInit(mclock, alarm, option=hist_option_all_inst, opt_n=hist_n_all_inst, &
call alarmInit(mclock, alarm, option=hist_option_all_inst, opt_n=hist_n_all_inst, &
reftime=starttime, alarmname=alarmname, rc=rc)
call ESMF_AlarmSet(alarm, clock=mclock, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
Expand Down Expand Up @@ -1550,7 +1551,7 @@ subroutine med_phases_history_init_histclock(gcomp, hclock, alarm, alarmname, hi

use NUOPC_Mediator, only : NUOPC_MediatorGet
use ESMF , only : ESMF_ClockCreate, ESMF_ClockGet, ESMF_ClockSet
use med_time_mod , only : med_time_alarmInit
use nuopc_shr_methods, only: AlarmInit

! input/output variables
type(ESMF_GridComp) , intent(in) :: gcomp
Expand All @@ -1566,6 +1567,7 @@ subroutine med_phases_history_init_histclock(gcomp, hclock, alarm, alarmname, hi
type(ESMF_Time) :: StartTime
type(ESMF_TimeInterval) :: mtimestep, dtimestep
integer :: msec, dsec
integer :: min_timestep
character(len=*), parameter :: subname='(med_phases_history_init_histclock) '
!---------------------------------------

Expand Down Expand Up @@ -1593,9 +1595,7 @@ subroutine med_phases_history_init_histclock(gcomp, hclock, alarm, alarmname, hi
hclock = ESMF_ClockCreate(mclock, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! Initialize history alarm and advance history clock to trigger
! alarms then reset history clock back to mcurrtime
call med_time_alarmInit(hclock, alarm, option=hist_option, opt_n=hist_n, &
call alarmInit(hclock, alarm, option=hist_option, opt_n=hist_n, &
reftime=StartTime, alarmname=trim(alarmname), advance_clock=.true., rc=rc)

! Write diagnostic info
Expand Down
6 changes: 3 additions & 3 deletions mediator/med_phases_prep_glc_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ module med_phases_prep_glc_mod
use med_methods_mod , only : field_getdata1d => med_methods_Field_getdata1d
use med_methods_mod , only : fldchk => med_methods_FB_FldChk
use med_utils_mod , only : chkerr => med_utils_ChkErr
use med_time_mod , only : med_time_alarmInit
use nuopc_shr_methods , only : alarmInit
use glc_elevclass_mod , only : glc_get_num_elevation_classes
use glc_elevclass_mod , only : glc_get_elevation_classes
use glc_elevclass_mod , only : glc_get_fractional_icecov
Expand Down Expand Up @@ -532,7 +532,7 @@ subroutine med_phases_prep_glc_avg(gcomp, rc)
call NUOPC_CompAttributeGet(gcomp, name="glc_avg_period", value=glc_avg_period, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (trim(glc_avg_period) == 'yearly') then
call med_time_alarmInit(prepglc_clock, glc_avg_alarm, 'yearly', alarmname='alarm_glc_avg', rc=rc)
call alarmInit(prepglc_clock, glc_avg_alarm, 'yearly', alarmname='alarm_glc_avg', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (maintask) then
write(logunit,'(a,i10)') trim(subname)//&
Expand All @@ -542,7 +542,7 @@ subroutine med_phases_prep_glc_avg(gcomp, rc)
call NUOPC_CompAttributeGet(gcomp, name="glc_cpl_dt", value=cvalue, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
read(cvalue,*) glc_cpl_dt
call med_time_alarmInit(prepglc_clock, glc_avg_alarm, 'nseconds', opt_n=glc_cpl_dt, alarmname='alarm_glc_avg', rc=rc)
call alarmInit(prepglc_clock, glc_avg_alarm, 'nseconds', opt_n=glc_cpl_dt, alarmname='alarm_glc_avg', rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (maintask) then
write(logunit,'(a,i10)') trim(subname)//&
Expand Down
Loading
Loading