fix current background field

- subtract the current background field after current calculation
- move add section of current background field inside the precompiler guard `ENABLE_CURRENT`