<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><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>283</buildNumber><marked><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><branch><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><branch><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><branch><SHA1>88b8239840f581d76610aa630dab6219d64d68be</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/larson-group/clubb.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>#283</displayName><duration>1728012</duration><estimatedDuration>1419302</estimatedDuration><fullDisplayName>clubb_release_diff_test #283</fullDisplayName><id>283</id><keepLog>false</keepLog><number>283</number><queueId>19941</queueId><result>SUCCESS</result><timestamp>1673602571028</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_release_diff_test/283/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>compile/config/linux_x86_64_nvhpc_casper.bash</affectedPath><affectedPath>src/CLUBB_core/constants_clubb.F90</affectedPath><affectedPath>src/CLUBB_core/model_flags.F90</affectedPath><affectedPath>src/CLUBB_core/mixing_length.F90</affectedPath><affectedPath>src/CLUBB_core/saturation.F90</affectedPath><commitId>88b8239840f581d76610aa630dab6219d64d68be</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>88b8239840f581d76610aa630dab6219d64d68be</id><msg>Restructuring and Porting of Compute_mixing_length subroutine(Phase 1) (#1052)</msg><path><editType>edit</editType><file>src/CLUBB_core/saturation.F90</file></path><path><editType>edit</editType><file>compile/config/linux_x86_64_nvhpc_casper.bash</file></path><path><editType>edit</editType><file>src/CLUBB_core/constants_clubb.F90</file></path><path><editType>edit</editType><file>src/CLUBB_core/mixing_length.F90</file></path><path><editType>edit</editType><file>src/CLUBB_core/model_flags.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>284</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_release_diff_test/284/</url></nextBuild><previousBuild><number>282</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_release_diff_test/282/</url></previousBuild></workflowRun>