<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginclubb_silhs_devel _class='hudson.plugins.git.util.Build'><buildNumber>175</buildNumber><marked><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><branch><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><name>refs/remotes/origin/clubb_silhs_devel</name></branch></marked><revision><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><branch><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><name>refs/remotes/origin/clubb_silhs_devel</name></branch></revision></refsremotesoriginclubb_silhs_devel></buildsByBranchName><lastBuiltRevision><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><branch><SHA1>02f066f5cbd140b9aa603b99c027095fa274697f</SHA1><name>refs/remotes/origin/clubb_silhs_devel</name></branch></lastBuiltRevision><remoteUrl>https://github.com/larson-group/e3sm.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><action></action><building>false</building><displayName>#175</displayName><duration>2364716</duration><estimatedDuration>2906312</estimatedDuration><fullDisplayName>e3sm_ne4_silhs_run_gfortran_test #175</fullDisplayName><id>175</id><keepLog>false</keepLog><number>175</number><queueId>19942</queueId><result>SUCCESS</result><timestamp>1673602571033</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/e3sm_ne4_silhs_run_gfortran_test/175/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>mixing_length.F90</affectedPath><affectedPath>saturation.F90</affectedPath><affectedPath>model_flags.F90</affectedPath><affectedPath>constants_clubb.F90</affectedPath><commitId>21426fea400c37cfd10dbde5beb0f96690a2f838</commitId><timestamp>1673549655000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Restructuring and Porting of Compute_mixing_length subroutine(Phase 1) (#1052)

* Restructuring and Porting of Compute_mixing_length subroutine(Phase 1)

Restructure: The compute_mixing_length is one of the top most routine taking 35-50%
of the total time in a single timestep. The subroutine has been restructured to
push the i-loop further down to extract vectorization and parallelization.
The restructuring also involves introduction of sat_mixrat_liq_acc routines to
extract parallelism when called inside a OpenACC parallel region.

Porting: OpenACC directives are inserted to port the restructured compute_mixing_length
code on to the GPUs. This port is currently unoptimized and there is still room for improvement.

NOTE: Currently, l_sat_mixrat_lookup = false and saturation_formula = saturation_flatau
(Earthworks config options) case is supported on OpenACC build. Any other options works
on CPUs as usual. OpenACC declare create directives are inserted in model_flags and
constants_clubb, as these module variables are used inside the saturation routines.

* Added debug message about only supporting
l_sat_mixrat_lookup = false and saturation_formula = saturation_flatau
 on GPUs
Answers are Bit for Bit with arm-multicolumn case + nvhpc compiler.

* Changing CLUBB debug level 1 to 0 for the saturation formula support
running on GPUs

* Changing indentation to make gfortran happy, it wants ifdefs to start at the beginning of the line.

* Adding use statements for error checks and printouts, also making the errors set err_code to clubb_fatal_error.

Co-authored-by: huebler &lt;huebler@uwm.edu&gt;
</comment><date>2023-01-12 12:54:15 -0600</date><id>21426fea400c37cfd10dbde5beb0f96690a2f838</id><msg>Restructuring and Porting of Compute_mixing_length subroutine(Phase 1) (#1052)</msg><path><editType>edit</editType><file>model_flags.F90</file></path><path><editType>edit</editType><file>constants_clubb.F90</file></path><path><editType>edit</editType><file>saturation.F90</file></path><path><editType>edit</editType><file>mixing_length.F90</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><inProgress>false</inProgress><nextBuild><number>176</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/e3sm_ne4_silhs_run_gfortran_test/176/</url></nextBuild><previousBuild><number>174</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/e3sm_ne4_silhs_run_gfortran_test/174/</url></previousBuild></workflowRun>