diff --git a/CHANGELOG b/CHANGELOG index a7b6e9c3f1ac43bfc3ce0888d390d9606066a3bc..de2b6711c84967ea337ceb423cdd27121c4437df 100755 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +1.0.4 + 2020/07/17 + + - Fixed bug on WRF-Chem writer + 1.0.3 2020/07/06 diff --git a/hermesv3_bu/__init__.py b/hermesv3_bu/__init__.py index 976498ab9cacbd0ed9a538cebd482e5df53f8efb..92192eed4fc88eaee9fdbafbc8e2139c43ba00e2 100755 --- a/hermesv3_bu/__init__.py +++ b/hermesv3_bu/__init__.py @@ -1 +1 @@ -__version__ = "1.0.3" +__version__ = "1.0.4" diff --git a/hermesv3_bu/writer/monarch_writer.py b/hermesv3_bu/writer/monarch_writer.py index 0ac0ed0dd49003c24b6670eee47541f2667e4787..caa03087a4c7cbfe3df95c2b4c251ccd662b350e 100755 --- a/hermesv3_bu/writer/monarch_writer.py +++ b/hermesv3_bu/writer/monarch_writer.py @@ -89,7 +89,6 @@ class MonarchWriter(Writer): if self.comm_write.Get_rank() == 0: self.grid.add_cell_area() cell_area = self.grid.shapefile[['cell_area']] - # cell_area.set_index('FID', inplace=True) else: cell_area = None cell_area = self.comm_write.bcast(cell_area, root=0) diff --git a/hermesv3_bu/writer/wrfchem_writer.py b/hermesv3_bu/writer/wrfchem_writer.py index 1f14ddead70c38345819c100f6bb8bd59664bebc..0614921237ab0154603e16db1634d969c34215f9 100755 --- a/hermesv3_bu/writer/wrfchem_writer.py +++ b/hermesv3_bu/writer/wrfchem_writer.py @@ -106,23 +106,23 @@ class WrfChemWriter(Writer): if self.comm_write.Get_rank() == 0: self.grid.add_cell_area() - - cell_area = self.grid.shapefile[['FID', 'cell_area']] - cell_area.set_index('FID', inplace=True) + cell_area = self.grid.shapefile[['cell_area']] else: cell_area = None cell_area = self.comm_write.bcast(cell_area, root=0) + emissions = emissions.reset_index().groupby(['FID', 'layer', 'tstep']).sum() # From mol/h or g/h to mol/m2.h or g/m2.h emissions = emissions.divide(cell_area['cell_area'], axis=0, level='FID') - + print(emissions.columns) for pollutant, info in self.pollutant_info.iterrows(): - if info.get('units') == "ug/m3 m/s": - # From g/m2.h to ug/m2.s - emissions[[pollutant]] = emissions[[pollutant]].mul(10**6 / 3600) - elif info.get('units') == "mol km^-2 hr^-1": - # From mol/m2.h to mol/km2.h - emissions[[pollutant]] = emissions[[pollutant]].mul(10**6) + if pollutant in emissions.columns: + if info.get('units') == "ug/m3 m/s": + # From g/m2.h to ug/m2.s + emissions[pollutant] = emissions[pollutant].mul(10**6 / 3600) + elif info.get('units') == "mol km^-2 hr^-1": + # From mol/m2.h to mol/km2.h + emissions[pollutant] = emissions[pollutant].mul(10**6) self.logger.write_time_log('WrfChemWriter', 'unit_change', timeit.default_timer() - spent_time) return emissions