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

Some lines longer than 132 characters #464

Closed
billsacks opened this issue Aug 3, 2018 · 4 comments
Closed

Some lines longer than 132 characters #464

billsacks opened this issue Aug 3, 2018 · 4 comments
Assignees
Labels
bfb bit-for-bit bug something is working incorrectly

Comments

@billsacks
Copy link
Member

Brief summary of bug

By running the code through https://github.com/NCAR/code-format-checker, I found a few dozen lines of code that are longer than 132 lines. I'm not sure why our NAG tests didn't pick this up.

General bug information

CTSM version you are using: ctsm1.0.dev004-24-geb61a048 . Some problems are new to this branch, some look to be pre-existing on master.

Does this bug cause significantly incorrect results in the model's science? No (probably not... though it's possible that runs with NAG are working incorrectly)

Configurations affected: Potentially will cause build failures with NAG compiler

Important output or errors that show the problem

/Users/sacks/ctsm/isotope_prep/src/fates/biogeochem/EDPhysiologyMod.F90 (line 2351, columns 133):
                       currentpatch%root_litter_out(ft) * EDPftvarcon_inst%fr_flab(ft) * currentpatch%area/AREA * froot_prof(s,ft,j)


/Users/sacks/ctsm/isotope_prep/src/fates/biogeochem/EDPhysiologyMod.F90 (line 2353, columns 133):
                       currentpatch%root_litter_out(ft) * EDPftvarcon_inst%fr_fcel(ft) * currentpatch%area/AREA * froot_prof(s,ft,j)


/Users/sacks/ctsm/isotope_prep/src/fates/biogeochem/EDPhysiologyMod.F90 (line 2355, columns 133):
                       currentpatch%root_litter_out(ft) * EDPftvarcon_inst%fr_flig(ft) * currentpatch%area/AREA * froot_prof(s,ft,j)


/Users/sacks/ctsm/isotope_prep/src/fates/biogeochem/EDCohortDynamicsMod.F90 (line 533, columns 133):
                     SF_val_CWD_frac(c) * (1.0_r8 -  EDPftvarcon_inst%allom_agb_frac(currentCohort%pft))  * hlm_days_per_year / AREA


/Users/sacks/ctsm/isotope_prep/src/fates/biogeochem/EDCohortDynamicsMod.F90 (line 800, columns 133):
                                      if (currentCohort%year_net_uptake(i) == 999._r8 .or. nextc%year_net_uptake(i) == 999._r8) then


/Users/sacks/ctsm/isotope_prep/src/fates/biogeophys/EDSurfaceAlbedoMod.F90 (line 770, columns 133):
                                tr_soild = tr_soild + forc_dir(ifp,ib) * weighted_dir_tr(L-1) * (1.0_r8-sum(ftweight(L,1:numpft,1)))


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNFUNMod.F90 (line 1239, columns 155):
                       frac_ideal_C_use = frac_ideal_C_use + (1.0_r8-frac_ideal_C_use)*min(1.0_r8, delta_CN/fun_cn_flex_c(ivt(p)));                       


/Users/sacks/ctsm/isotope_prep/src/biogeochem/NutrientCompetitionFlexibleCNMod.F90 (line 957, columns 133):
                  frootcn_actual = cnveg_carbonstate_inst%frootc_storage_patch(p) / cnveg_nitrogenstate_inst%frootn_storage_patch(p)


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNNStateUpdate1Mod.F90 (line 237, columns 133):
            ns_veg%npool_patch(p)              = ns_veg%npool_patch(p)              - nf_veg%npool_to_livecrootn_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNNStateUpdate1Mod.F90 (line 238, columns 133):
            ns_veg%livecrootn_storage_patch(p) = ns_veg%livecrootn_storage_patch(p) + nf_veg%npool_to_livecrootn_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNNStateUpdate1Mod.F90 (line 241, columns 133):
            ns_veg%npool_patch(p)              = ns_veg%npool_patch(p)              - nf_veg%npool_to_deadcrootn_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNNStateUpdate1Mod.F90 (line 242, columns 133):
            ns_veg%deadcrootn_storage_patch(p) = ns_veg%deadcrootn_storage_patch(p) + nf_veg%npool_to_deadcrootn_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 262, columns 133):
                cs_veg%livecrootc_patch(p)      = cs_veg%livecrootc_patch(p)      + cf_veg%livecrootc_xfer_to_livecrootc_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 263, columns 133):
                cs_veg%livecrootc_xfer_patch(p) = cs_veg%livecrootc_xfer_patch(p) - cf_veg%livecrootc_xfer_to_livecrootc_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 264, columns 133):
                cs_veg%deadcrootc_patch(p)      = cs_veg%deadcrootc_patch(p)      + cf_veg%deadcrootc_xfer_to_deadcrootc_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 265, columns 133):
                cs_veg%deadcrootc_xfer_patch(p) = cs_veg%deadcrootc_xfer_patch(p) - cf_veg%deadcrootc_xfer_to_deadcrootc_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 367, columns 133):
            cs_veg%cpool_patch(p)              = cs_veg%cpool_patch(p)              - cf_veg%cpool_to_livecrootc_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 368, columns 133):
            cs_veg%livecrootc_storage_patch(p) = cs_veg%livecrootc_storage_patch(p) + cf_veg%cpool_to_livecrootc_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 371, columns 133):
            cs_veg%cpool_patch(p)              = cs_veg%cpool_patch(p)              - cf_veg%cpool_to_deadcrootc_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNCStateUpdate1Mod.F90 (line 372, columns 133):
            cs_veg%deadcrootc_storage_patch(p) = cs_veg%deadcrootc_storage_patch(p) + cf_veg%cpool_to_deadcrootc_storage_patch(p)*dt


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 196, columns 138):
           cnveg_carbonflux_inst%m_deadcrootc_to_litter_patch(p)        = cnveg_carbonstate_inst%deadcrootc_patch(p) * m * 10._r8        


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 243, columns 133):
         cnveg_nitrogenflux_inst%m_leafn_storage_to_litter_patch(p)       = cnveg_nitrogenstate_inst%leafn_storage_patch(p)      * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 244, columns 133):
         cnveg_nitrogenflux_inst%m_frootn_storage_to_litter_patch(p)      = cnveg_nitrogenstate_inst%frootn_storage_patch(p)     * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 245, columns 133):
         cnveg_nitrogenflux_inst%m_livestemn_storage_to_litter_patch(p)   = cnveg_nitrogenstate_inst%livestemn_storage_patch(p)  * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 246, columns 133):
         cnveg_nitrogenflux_inst%m_deadstemn_storage_to_litter_patch(p)   = cnveg_nitrogenstate_inst%deadstemn_storage_patch(p)  * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 247, columns 133):
         cnveg_nitrogenflux_inst%m_livecrootn_storage_to_litter_patch(p)  = cnveg_nitrogenstate_inst%livecrootn_storage_patch(p) * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 248, columns 133):
         cnveg_nitrogenflux_inst%m_deadcrootn_storage_to_litter_patch(p)  = cnveg_nitrogenstate_inst%deadcrootn_storage_patch(p) * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 251, columns 133):
         cnveg_nitrogenflux_inst%m_leafn_xfer_to_litter_patch(p)          = cnveg_nitrogenstate_inst%leafn_xfer_patch(p)         * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 252, columns 133):
         cnveg_nitrogenflux_inst%m_frootn_xfer_to_litter_patch(p)         = cnveg_nitrogenstate_inst%frootn_xfer_patch(p)        * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 253, columns 133):
         cnveg_nitrogenflux_inst%m_livestemn_xfer_to_litter_patch(p)      = cnveg_nitrogenstate_inst%livestemn_xfer_patch(p)     * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 254, columns 133):
         cnveg_nitrogenflux_inst%m_deadstemn_xfer_to_litter_patch(p)      = cnveg_nitrogenstate_inst%deadstemn_xfer_patch(p)     * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 255, columns 133):
         cnveg_nitrogenflux_inst%m_livecrootn_xfer_to_litter_patch(p)     = cnveg_nitrogenstate_inst%livecrootn_xfer_patch(p)    * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNGapMortalityMod.F90 (line 256, columns 133):
         cnveg_nitrogenflux_inst%m_deadcrootn_xfer_to_litter_patch(p)     = cnveg_nitrogenstate_inst%deadcrootn_xfer_patch(p)    * m


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 755, columns 133):
    call cnfire_method%CNFireFluxes(bounds, num_soilc, filter_soilc, num_soilp, filter_soilp,                                      &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 756, columns 133):
         dgvs_inst, cnveg_state_inst,                                                                                              &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 757, columns 133):
         cnveg_carbonstate_inst, cnveg_carbonflux_inst, cnveg_nitrogenstate_inst, cnveg_nitrogenflux_inst,                         &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 758, columns 133):
         leaf_prof_patch=soilbiogeochem_state_inst%leaf_prof_patch(begp:endp, 1:nlevdecomp_full),                                  &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 759, columns 134):
         froot_prof_patch=soilbiogeochem_state_inst%froot_prof_patch(begp:endp, 1:nlevdecomp_full),                                & 


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 760, columns 133):
         croot_prof_patch=soilbiogeochem_state_inst%croot_prof_patch(begp:endp, 1:nlevdecomp_full),                                &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 761, columns 133):
         stem_prof_patch=soilbiogeochem_state_inst%stem_prof_patch(begp:endp, 1:nlevdecomp_full),                                  &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 762, columns 133):
         totsomc_col=soilbiogeochem_carbonstate_inst%totsomc_col(begc:endc),                                                       &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 763, columns 133):
         decomp_cpools_vr_col=soilbiogeochem_carbonstate_inst%decomp_cpools_vr_col(begc:endc,1:nlevdecomp_full,1:ndecomp_pools),   &


/Users/sacks/ctsm/isotope_prep/src/biogeochem/CNDriverMod.F90 (line 764, columns 133):
         decomp_npools_vr_col=soilbiogeochem_nitrogenstate_inst%decomp_npools_vr_col(begc:endc,1:nlevdecomp_full,1:ndecomp_pools), &


/Users/sacks/ctsm/isotope_prep/src/utils/clmfates_interfaceMod.F90 (line 1127, columns 134):
   subroutine init_coldstart(this, waterstatebulk_inst, waterdiagnosticbulk_inst, canopystate_inst, soilstate_inst, frictionvel_inst)


/Users/sacks/ctsm/isotope_prep/src/main/lnd2atmMod.F90 (line 393, columns 133):
       waterdiagnosticbulk_inst%tws_grc(g) = waterdiagnosticbulk_inst%tws_grc(g) + atm2lnd_inst%volr_grc(g) / grc%area(g) * 1.e-3_r8


/Users/sacks/ctsm/isotope_prep/src/main/initVerticalMod.F90 (line 484, columns 133):
             call endrun( 'ERROR:: zbedrock not found on surface data set, and use_bedrock is true.'//errmsg(sourcefile, __LINE__) )


/Users/sacks/ctsm/isotope_prep/src/soilbiogeochem/SoilBiogeochemCarbonFluxType.F90 (line 271, columns 133):
              longname =  'decomp. of '//trim(decomp_cascade_con%decomp_pool_name_long(decomp_cascade_con%cascade_donor_pool(l)))//&


/Users/sacks/ctsm/isotope_prep/src/biogeophys/WaterFluxType.F90 (line 245, columns 147):
         long_name=this%info%lname('surface runoff at glaciers (liquid only), wetlands, lakes; also includes melted ice runoff from QSNWCPICE'), &


/Users/sacks/ctsm/isotope_prep/src/biogeophys/HydrologyNoDrainageMod.F90 (line 226, columns 137):
      if ( use_fates ) call clm_fates%ComputeRootSoilFlux(bounds, num_hydrologyc, filter_hydrologyc, soilstate_inst, waterfluxbulk_inst)


/Users/sacks/ctsm/isotope_prep/src/biogeophys/HydrologyNoDrainageMod.F90 (line 240, columns 136):
              soilhydrology_inst, soilstate_inst, temperature_inst, waterstatebulk_inst, waterdiagnosticbulk_inst, waterfluxbulk_inst) 


/Users/sacks/ctsm/isotope_prep/src/biogeophys/WaterDiagnosticBulkType.F90 (line 712, columns 142):
                                      (waterstatebulk_inst%h2osoi_liq_col(c,col%snl(c)+1)+waterstatebulk_inst%h2osoi_ice_col(c,col%snl(c)+1))


/Users/sacks/ctsm/isotope_prep/src/biogeophys/CanopyFluxesMod.F90 (line 859, columns 136):
                    canopystate_inst, ozone_inst, photosyns_inst, waterfluxbulk_inst, froot_carbon(begp:endp), croot_carbon(begp:endp))


/Users/sacks/ctsm/isotope_prep/src/biogeophys/CanopyTemperatureMod.F90 (line 230, columns 149):
      call calc_soilevap_resis(bounds, num_nolakec, filter_nolakec, soilstate_inst, waterstatebulk_inst, waterdiagnosticbulk_inst, temperature_inst)



Test FAILED!
Found at least one file exceding 132 character limit

Settings:
src_dir:          /Users/sacks/ctsm/isotope_prep/src
test:             regular
description:      regular code lines (w/o comments) exeeding character limit
character limit:  132
extension:        F90
comment:          !
silent:           False

@billsacks billsacks added tag: simple bfb bug something is working incorrectly labels Aug 3, 2018
@billsacks billsacks self-assigned this Aug 3, 2018
@billsacks
Copy link
Member Author

I realized there's an off-by-one error in that script, so things mentioning 133 characters are actually okay.

@billsacks
Copy link
Member Author

It turns out that the problems on master were not really problems - the only offending lines were due to trailing whitespace. So the only real problems came in in ctsm1.0.dev005.

(I'm running the script with: code-format-checker/CodeFormatChecker.py -t rc -l 133)

@rgknox
Copy link
Collaborator

rgknox commented Aug 3, 2018

That is a neat format checking tool. That is the kind of thing I would like to add to continuous integration if we ever get it running for fates.

@billsacks
Copy link
Member Author

@rgknox see also https://github.com/marbl-ecosys/MARBL/blob/development/MARBL_tools/code_consistency.py

There are things I like about both of those tools, though neither one works exactly as I'd like right now.

billsacks added a commit that referenced this issue Aug 4, 2018
Minor bug fixes, cleanup, documentation and enhancements

A collection of minor bug fixes, code cleanup, documentation and
enhancements, all bit-for-bit. See list of issues fixed below for
details.

Issues fixed (include CTSM Issue #):
- Fixes #24 (ncd_io_1d_log_glob is broken)
- Fixes #120 (Incorrect comments in Biogeophysics1Mod.F90
- Fixes #217 (Change some cheyenne_gnu tests to cheyenne_intel)
- Fixes #245 (Put all .gitignore entries in top-level file)
- Fixes #272 (Code should error on missing mxsoil_color when SOIL_COLOR
  is used)
- Fixes #283 (Add more helpful message about need to do init_interp with
  wrong number of vertical layers)
- Fixes #367 (For cmip6 runs: Turn on cpl hist output needed to drive a
  TG compset)
- Fixes #412 (Fix documentation of init_interp_method)
- Fixes #419 (Do not allow SOYFIXN diagnostic field with FUN)
- Fixes #464 (Some lines longer than 132 characters)
- Fixes #465 (Remove backwards compatibility check for snw_rds)
- Fixes #467 (Increase wallclock limit for test)
billsacks added a commit to billsacks/ctsm that referenced this issue Feb 22, 2019
Checked with code-format-checker/CodeFormatChecker.py -t rc -l 133

(Note the off-by-one error in that script, hence the need for 133 rather
than 132.)

Fixes ESCOMP#464
billsacks added a commit to billsacks/ctsm that referenced this issue Feb 22, 2019
Minor bug fixes, cleanup, documentation and enhancements

A collection of minor bug fixes, code cleanup, documentation and
enhancements, all bit-for-bit. See list of issues fixed below for
details.

Issues fixed (include CTSM Issue #):
- Fixes ESCOMP#24 (ncd_io_1d_log_glob is broken)
- Fixes ESCOMP#120 (Incorrect comments in Biogeophysics1Mod.F90
- Fixes ESCOMP#217 (Change some cheyenne_gnu tests to cheyenne_intel)
- Fixes ESCOMP#245 (Put all .gitignore entries in top-level file)
- Fixes ESCOMP#272 (Code should error on missing mxsoil_color when SOIL_COLOR
  is used)
- Fixes ESCOMP#283 (Add more helpful message about need to do init_interp with
  wrong number of vertical layers)
- Fixes ESCOMP#367 (For cmip6 runs: Turn on cpl hist output needed to drive a
  TG compset)
- Fixes ESCOMP#412 (Fix documentation of init_interp_method)
- Fixes ESCOMP#419 (Do not allow SOYFIXN diagnostic field with FUN)
- Fixes ESCOMP#464 (Some lines longer than 132 characters)
- Fixes ESCOMP#465 (Remove backwards compatibility check for snw_rds)
- Fixes ESCOMP#467 (Increase wallclock limit for test)
mariuslam pushed a commit to NordicESMhub/ctsm that referenced this issue Aug 26, 2019
@samsrabin samsrabin added simple bfb bit-for-bit labels Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bfb bit-for-bit bug something is working incorrectly
Projects
None yet
Development

No branches or pull requests

3 participants